我正在尝试使用 javascript 对数据进行编码,使用 AES-256-CBC 和 php mcrypt 库进行解码,反之亦然。
我知道 javascript 的问题性质以及任何人都可以看到密钥的事实,但我正在使用 javascript 作为非 Web 环境的脚本工具 - 所以不用担心。
我找到了 pidder https://sourceforge.net/projects/pidcrypt/
并使用演示页面加密了一些数据,然后尝试通过 php 对其进行解密,但是出了点问题,我似乎找不到什么...我在两端使用相同的密钥,一个 32 字节的字符串
任何指针将不胜感激
~~~
$encrypted = "string after pidder encryption";
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_256,'',MCRYPT_MODE_CBC,'');
$iv_size = mcrypt_enc_get_iv_size($cipher);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
mcrypt_generic_init($cipher, $key, $iv);
$encrypted = base64_decode($encrypted);
echo "after b64decode: " . $encrypted . "\n\n\n";
$encrypted = mdecrypt_generic($cipher, $encrypted);
echo "decrypt:" . $encrypted;
~~~