我真的很难解密PHP中给定的密文,我希望你们中的一个能够找到我在这个问题上的错误。
所以这是我正在尝试解码的字符串
Wq+J2IlE7Cug1gJNiwy1beIcFggGhn+gZHkTCQ4J/DR3OY45OMs4RXN850xbfAmy
我知道它用AES / CBC / PKCS5Padding加密,带有IV
2ZqVSHjqn3kMump0rvd8AA==
我会根据要求给你发电子邮件。
public static function aes128cbcDecrypt($key, $encrypted_text, $iv)
{
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_192, '', MCRYPT_MODE_CBC, '');
mcrypt_generic_init($td, $key, $iv);
$decrypted = mdecrypt_generic($td, $encrypted_text);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trim($decrypted);
}
当我尝试运行时,我得到完全的胡言乱语
ã5‡³/.3p›¤ý°$² —ïÅ»<9 ‘m ê|Ÿ.ÂYº|Šû^w¬¾‚=l“½·F›VársT~ê H�ÿfß]7ñH
同样,当我加密已知的纯文本时,我会得到一堆乱码而不是ascii字符串。
† —4†º¢V�Öæƒ{ Zsöœl ò°Þ
PegöE&£á=Ǻ܀
你们有没有想到我出错的地方?
答案 0 :(得分:5)
也许是一个愚蠢的问题,但是如果IV在使用之前不能进行base64解码吗?
$realIV = base64_decode($iv);