無法解密我使用下面的js代碼加密字符串加密的js加密的字符串在PHP
var text = 'should be decrypted!';
var key = 'HighlySecretKeyForJsEncryption!!';
var encrypted = CryptoJS.AES.encrypt(text, key);
console.log(encrypted.toString());
輸出:U2FsdGVkX19vf + S6/+ eB8A + 3iKFCl1A0e + oe0BSbcMVGxb64FL35Q3CB/LZNu4ng
,這就是我所做的在php解密此
function decrypt($toDecrypt) {
$key = "HighlySecretKeyForJsEncryption!!";
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$toDecrypt = base64_decode($toDecrypt);
return rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, substr($toDecrypt, $iv_size), MCRYPT_MODE_CBC, substr($toDecrypt, 0, $iv_size)));
}
但這不工作,它給了我垃圾字符串。
BASE64_DECODE($ toDecrypt);你的base64在哪裏編碼? – DannyThunder
不工作,如果還刪除base64_decode – Pranav
也許有趣? http://stackoverflow.com/questions/27677236/encryption-in-javascript-and-decryption-with-php。 –