【发布时间】:2013-02-11 14:42:14
【问题描述】:
我的任务是在 CBC 模式下解密 AES-128,因为我已经加密了十六进制字符串和密钥(也是十六进制)。 我尝试了一个简单的代码,例如:
function doDecrypt(){
var encryptedData = "1d4c76364618b6efce62258353f89810"
var key = "11112222333344445555666677778888";
encryptedData = CryptoJS.enc.Hex.parse(encryptedData);
key = CryptoJS.enc.Hex.parse(key);
var decrypted = CryptoJS.AES.decrypt(encryptedData, key);
alert(CryptoJS.enc.Hex.stringify(decrypted));
}
我得到的结果只是一个空白单词数组(在“解密”中),谁能指出我在哪里做错了吗?
我是否需要其他信息,例如 iv、salt 或不需要?
【问题讨论】:
-
您的数据和密钥来自哪里?密钥对我来说看起来不是很真实,它不是只有 64 位而不是必要的 128 位吗?我相信,算法本身应该可以工作,输入可能是您的问题。
-
对不起,我复制了错误的密钥,它有 128 位:11112222333344445555666677778888
标签: javascript aes cryptojs