3

AES256CBC復号化クライアント側を探しています。

nodeJSでは、この関数を使用して暗号化します。

exports.encrypt = function(txt, cryptkey){
  var cipher = crypto.createCipher('aes-256-cbc',cryptkey);
  var crypted = cipher.update(txt,'utf8','hex');
  crypted += cipher.final('hex');

  console.log(crypted);
  return crypted;

};

しかし、クライアント側のライブラリ(JSAES.js、SJCL.js、pidcrypt)では動作しないようです。

私の推測では、base64 / 16進エンコーディングのデコード、ポインタと関係がありますか?

4

1 に答える 1

8

CryptoJSプロジェクトをご覧ください。

AES256CBC暗号化/復号化の例を次に示します。

含む:

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/components/mode-cfb-min.js"></script>

JS:

var passPhrase = "Secret Phassphrase";

var encrypted = CryptoJS.AES.encrypt("Message", passPhrase, { mode: CryptoJS.mode.CFB });
var decrypted = CryptoJS.AES.decrypt(encrypted, passPhrase, { mode: CryptoJS.mode.CFB });

console.log('encrypted', encrypted);
console.log('decrypted', decrypted.toString(CryptoJS.enc.Utf8));

jsFiddleでデモを見る

于 2013-02-24T18:33:18.797 に答える