pidCrypt (javascript ライブラリhttps://sourceforge.net/projects/pidcrypt/ ) を使用して、暗号化されたテキストを AES で復号化しようとしています。
MAC mini、OS X Yosemite、v.10.10.1
Mozilla FF 35.0.1
私はこのファイルを使用しています:
<SCRIPT src="javascripts/pidcrypt_util.js"></SCRIPT>
<SCRIPT src="javascripts/pidcrypt.js"></SCRIPT>
<SCRIPT src="javascripts/md5.js"></SCRIPT><!--needed for key and iv generation-->
<SCRIPT src="javascripts/aes_core.js"></SCRIPT><!--needed block en-/decryption-->
<SCRIPT src="javascripts/aes_cbc.js"></SCRIPT><!--needed for cbc mode-->
そして、新しいインスタンスを作成します:
var aes = new pidCrypt.AES.CBC();
この後、エラーが発生します:
ReferenceError: byteArray2String が定義されていません
this.params.salt = byteArray2String(getRandomBytes(8)).convertToHex();
pidcrypt.js (93 行目、5 列目)
同じ問題は、ライブラリ (test_aes-cbc.html) でパックされたテスト ファイルを起動した場合です。
ソリューション:
私はこれをそのように修正しました:
pidcrypt.js から削除します。
line 93: this.params.salt = byteArray2String(getRandomBytes(8)).convertToHex();
pidcrypt.js に追加します。
line 93: this.params.salt = pidCryptUtil.byteArray2String(getRandomBytes(8));
line 94: this.params.salt = pidCryptUtil.convertToHex(this.params.salt);
誰かがこの編集に追加の情報/メモを持っている場合は、コメントを編集してください。