1
4

2 に答える 2

1

復号化する前に再初期化する必要があります。つまり、crypt_generic_initを再度呼び出します。また、暗号化が終了したら、mcrypt_generic_deinitを呼び出す必要があります。

于 2011-01-11T18:46:10.387 に答える
0

これは単なる推測ですが、CBCモードを使用しているため、復号化する前にivをリセットする必要があります。

$td = \mcrypt_module_open(\MCRYPT_RIJNDAEL_256, '', MCRYPT_MODE_CBC, '');
$key = '12345678901234561234567890123456';
$iv =  '12345678901234567890123456789012';

\mcrypt_generic_init($td, $key, $iv);
$encrypted = \mcrypt_generic($td, "Testing");

\mcrypt_generic_init($td, $key, $iv);
echo \mdecrypt_generic($td, $encrypted);
于 2011-01-11T18:46:11.807 に答える