使用PHP从javascript解密AES加密文本

时间:2017-09-17 06:38:44

标签: php

强文我使用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

我对此非常陌生,在启动时需要一些帮助。

如果有效,我也会尝试其他一些事情。

0 个答案:

没有答案