强文我使用CryptoJs,javascript加密了一些文字。现在我想用PHP解密它。
来自js的加密字符串就是这个。
U2FsdGVkX1 + xxsL9T2PF8RaVBYK27yaishU0qa8lJXPuKj82S6jbmW8phxhl1FwT
js code 如下所示。
$(document).ready(function(e){
var data = [{id: 1}, {id: 2}]
// Encrypt
var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), 'salyno1');
console.log(ciphertext.toString());
})
现在在 php 我试过
<?php
$decrypted = simple_decrypt("U2FsdGVkX1+xxsL9T2PF8RaVBYK27yaishU0qa8lJXPuKj82S6jbmW8phxhl1FwT", 'salyno1');
echo($decrypted);
function simple_decrypt($encrypted, $salt) {
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, pack('H*', $salt), base64_decode($encrypted), MCRYPT_MODE_CBC, $iv = mcrypt_create_iv($iv_size=mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND)));
}
?>
但我收到错误,如下所示:
警告:pack():输入H:非法十六进制数字输入 第7行的C:\ xampp \ htdocs \ publications \ api \ encryption.php
我对此非常陌生,在启动时需要一些帮助。
如果有效,我也会尝试其他一些事情。