使用js CryptoJS加密和使用python解密时遇到问题密码密码在
这是我在js中的实现,
用加密消息附加iv并用base64编码
var message='Secreat Message to Encrypt';
var key = CryptoJS.enc.Hex.parse('824601be6c2941fabe7fe256d4d5a2b7');
var iv = CryptoJS.enc.Hex.parse('1011121314151617');
var encrypted = CryptoJS.AES.encrypt(message, key, { iv: iv, mode: CryptoJS.mode.CBC });
encrypted =encrypted.toString();
encrypted = iv+encrypted;
encrypted = btoa(encrypted);
console.log('encrypted',encrypted );
alert(encrypted);
// var decrypted = CryptoJS.AES.decrypt(encrypted, key, { iv: iv, mode: CryptoJS.mode.CBC });
// console.log('decrypted', decrypted);
//alert(decrypted.toString(CryptoJS.enc.Utf8));
在用于aes加密和解密的python脚本中
^{pr2}$
但是同一个iv,消息和密钥在python和js中会产生不同的加密消息
JavaScript与python解密兼容的问题是什么?在
两者都用过AES.MODE U CBC模式假设两者都使用了Pkcs7填充。硬编码的iv现在是随机生成的