0

我想知道 PHP 中的 MCrypt 库是否有任何问题,因为我正在进行加密/解密测试。在同一个文件中,我有一个加密和解密,没有任何功能。当我加密时,一切都很完美,但是当我在那之后立即开始解密时,输出就变成了垃圾。我确信我传递了相同的密钥和 IV,我什至更改了 OFB 和 ECB 中的算法(3DES 和 RIJNDEAL-128)。一切都是一样的。

我关心的 MCrypt 版本是:

版本 2.5.8 API 20021217 PHP 版本 5.4.6-1ubuntu1.1 Apache 2.2.22 操作系统:Ubuntu 12.10 x64

版本:2.5.8 API:20021217 PHP 版本 5.3.15 Apache 2.2.22 操作系统:CentOS x64(HostGator 共享)

另外问题不在x64上,因为我之前在x86机器上使用过ubuntu 12.04

编辑

$time = microtime();
$key_size = mcrypt_get_key_size(MCRYPT_RIJNDAEL_128);
$key = substr(md5($time),0,$key_size);
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = substr(sha1($time),0,$iv_size);
$secret = "14 SPROWSTON ROAD";
$crypt =  mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $secret, MCRYPT_MODE_CBC);
print $crypt;
print "<br />";
echo mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $crypt, MCRYPT_MODE_CBC);

输出

14�'�V�>�CN 路

4

1 回答 1

0

原来问题出在电脑后面。这是我自己的编码错误。

于 2013-01-24T20:59:51.617 回答