0

暗号化/復号化テストを行っているため、PHP の MCrypt ライブラリに問題があるのではないかと考えています。同じファイルに暗号化と復号化があり、機能も何もありません。暗号化するとすべて完璧ですが、その直後に復号化を開始すると、出力がゴミになります。OFB と ECB のアルゴリズム (3DES と RIJNDEAL-128) も変更しました。すべてが同じです。

私が懸念している MCrypt のバージョンは次のとおりです。

バージョン 2.5.8 API 20021217 PHP バージョン 5.4.6-1ubuntu1.1 Apache 2.2.22 OS: Ubuntu 12.10 x64

バージョン: 2.5.8 API: 20021217 PHP バージョン 5.3.15 Apache 2.2.22 OS: 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 ROAD

4

1 に答える 1

0

問題はコンピュータの後ろ側にあることがわかりました。それは私自身のコーディングエラーでした。

于 2013-01-24T20:59:51.617 に答える