PHP中的MCrypt库是否存在任何已知的错误/问题

时间:2013-01-17 11:03:54

标签: php ubuntu centos mcrypt

我想知道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 &gt; CNROAD

1 个答案:

答案 0 :(得分:0)

事实证明问题出在电脑后面......这是我自己的编码错误。