我有一种情况,我必须在PHP中加密和解密SOAP xml。我正在尝试加密soap xml的Envelope。加密正在运行,但解密却没有。对于加密和解密,我使用本文中指定的代码:
http://blog.djekldevelopments.co.uk/?p=334
如果输入字符串包含任何特殊字符(例如:'<>'),则解密不起作用。我该如何解决这个问题?
function decrypt($string = "")
{
$keyfile = "./AES.keyz";
$keyfile = file($keyfile);
$key = base64_decode($keyfile[0]);
$iv = base64_decode($keyfile[1]);
$string = base64_decode($string);
return strippadding(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $string,MCRYPT_MODE_CBC, $iv));
}
答案 0 :(得分:0)
MCRYPT_RIJNDAEL_256 ia不是具有256位密钥的AES,其RIJNDAEL具有256位块大小。
要解密256位AES,您需要使用带有256位密钥的MCRYPT_RIJNDAEL_128。