2012-04-25 163 views
0

我有一種情況,我必須在PHP中對SOAP xml進行加密和解密。我正在嘗試加密肥皂xml的Envelope。加密正在工作,但解密不是。對於加密和解密使用我在這篇文章中指定的代碼:PHP中的Rijndael-256加密解密

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

@Alix Axel ..解密特殊字符時使用mcrypt – user922834 2012-04-25 13:57:23

回答

0

MCRYPT_RIJNDAEL_256執行機構有256位的密鑰,它與256位的塊大小不RIJNDAEL算法AES。

要解密256位AES,您需要使用帶有256位密鑰的MCRYPT_RIJNDAEL_128。