问问题
730 次
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 回答