Я использую следующий JS код для шифрования снабжать струной, тетивой и т.п.Crypto расслоение плотной зашифрованная строка не дешифровать в 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. –