我无法使用crypto-js解密此密码。无法解密来自php加密的密文
明文密钥: 'abcdabcdabcdabcd'
四:'0000000000000000'
秘密消息:'5555555555555555'
密文:'jIwKE2X1N/1aiZfWoaY+USXRnslF1tsXKVtUON8ucn0='
我加密的js代码如下所示:
var iv = '0000000000000000';
var aesKey = 'abcdabcdabcdabcd';
var ciphertext = 'jIwKE2X1N/1aiZfWoaY+USXRnslF1tsXKVtUON8ucn0=';
var decryption = CryptoJS.AES.decrypt(ciphertext, aesKey, {iv: iv});
console.log(decryption.toString(CryptoJS.enc.Utf8));
运行此代码后,console.log为空,我做错了什么?
我',m不知道,但它看起来像这样 $ iv = str_repeat(“\ 0”,openssl_cipher_iv_length('AES-128-CBC')); 所以我认为它是propably'0000000000000000' – Agr
完成,我还附加了解密对象的链接 https://ibb.co/cg8c8v – Agr
您很可能需要将'CryptoJS.enc.Hex.parse'应用到您的'iv在JavaScript中(也可能是你的密钥?)你的IV在PHP中是一系列空字节,但在JS中它是一系列'48'值字节(字符'0'的ASCII值)。 'Hex.parse'将读取输入为一系列2字节的字节。或者,使用实际的空字节而不是一系列的零,''\ 0 \ 0 \ 0 \ 0 ...'' – apsillers