0

PHP で SOAP xml を暗号化および復号化する必要がある状況があります。SOAP xml のエンベロープを暗号化しようとしています。暗号化は機能していますが、復号化は機能していません。暗号化と復号化には、この記事で指定されているコードを使用します。

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));
   }
4

1 に答える 1

0

MCRYPT_RIJNDAEL_256 ia は 256 ビット キーの AES ではなく、256 ビット ブロック サイズの RIJNDAEL です。

256 ビット AES を復号化するには、256 ビット キーで MCRYPT_RIJNDAEL_128 を使用する必要があります。

于 2012-05-03T03:14:49.587 に答える