【发布时间】:2014-08-15 03:21:30
【问题描述】:
我的问题现在与Crypto-Js different output from mcrypt 相关,这就是为什么我使用相同的问题但添加了几行以更好地解释它的原因。
基于我之前由吉姆爵士解决的问题(也非常感谢您的提示)。它部分正确,因为它确实显示了相同的结果,但只有当我使用“Blader”这个词并且如果我使用另一个词,如“CROW”,那么两个脚本之间的输出是不同的。
这是 jim 爵士给出的代码,就像一个魅力 (我在这里使用了 Blader)
$encrypted = "Blader\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a";
$iv = base64_decode('AAAAAAAAAAAAAAAAAAAAAA==');
$key = base64_decode('ITU2NjNhI0tOc2FmZExOTQ==');
$plaintext = mcrypt_encrypt( MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv );
echo base64_encode($plaintext);
示例是当我使用 CROW 作为要加密的数据时
cryptoJS 中的输出
dxt3uyk27U3wRRrzaFGiwQ==
mcrypt 中的输出
x9/oeyLZkLkXM7B1Zo+ezg==
为了解决这个问题,我删除了cryptoJS 中的padding: CryptoJS.pad.Pkcs7,但我的问题是如果我不想删除cryptoJS 中的填充怎么办?
所有答案将不胜感激。
【问题讨论】:
标签: javascript php encryption