Расшифровка PHP AES256 PKCS7 от iOS Swift

Я пытаюсь зашифровать строку в Swift и расшифровать ее в PHP. Я получил хорошую помощь от SO, и, надеюсь, кто-то может помочь еще раз.
Вот код, который я пытаюсь использовать в PHP для расшифровки.

$key = "test";
$pass = "bLOKONASw8tE2cki5QhkcA==";
$iv = "1234567890123456";

$base64encoded_ciphertext = $pass;
echo "pass: ".$pass;

$res_non = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($base64encoded_ciphertext), MCRYPT_MODE_CBC, $iv);

$decrypted = $res_non;
echo " 1: ".$decrypted;
$dec_s2 = strlen($decrypted);
echo " 2: ".$dec_s2;
$padding = ord($decrypted[$dec_s2-1]);
echo " padding: ".$padding;
$decrypted = substr($decrypted, 0, -$padding);
echo " Decrypted: ".$decrypted;

Строка зашифрована в Swift, и я base64 кодирую ее перед отправкой на сервер.

Я не получаю сообщение об ошибке, но кажется, что полученное «расшифрованное» значение пусто.
У меня есть тестовая функция расшифровки в Swift, которая возвращает правильный вывод.

Key:<74657374 73747269 6e67>
Iv:<31323334 35363738 39303132 33343536>
Message: <74657374 6d657373 616765>
ivLength    = 16, ivData    = <31323334 35363738 39303132 33343536>
encryptedData: <6cb38a38 d012c3cb 44d9c922 e5086470>
base64cryptString = bLOKONASw8tE2cki5QhkcA==

Если кто-то может помочь мне понять, где я иду не так, это было бы

2

Решение

Длина вектора инициализации должна быть 16 байтов в режиме AES — CBC.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector