Расшифровка шифрования Rijndael-256 в PHP

У меня есть ситуация, когда мне нужно зашифровать и расшифровать SOAP xml в PHP. Пытаюсь зашифровать конверт мыла 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));
   }

person user922834    schedule 25.04.2012    source источник
comment
@Alix Axel..isue при расшифровке специальных символов с помощью mcrypt   -  person user922834    schedule 25.04.2012


Ответы (1)


MCRYPT_RIJNDAEL_256 - это не AES с 256-битным ключом, это RIJNDAEL с размером блока 256 бит.

Чтобы расшифровать 256-битный AES, вам нужно использовать MCRYPT_RIJNDAEL_128 с 256-битным ключом.

person imichaelmiers    schedule 03.05.2012