我正在尝试使用 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);
如果有人对此编辑有其他信息/注释,请发表评论。