Шифрование AES в php и C использует библиотеку openssl

Я хочу зашифровать некоторые данные фиксированной длины (512 байт) с помощью алгоритма шифрования AES в PHP, а затем расшифровать их в C.

Код PHP выглядит следующим образом.

$plaintext = "...";     // 512bytes.
$iv = "...";            // 128bits long;
$password = "...";      // 128bits long;

$ciphertext = openssl_encrypt ($plaintext, 'aes-256-cbc', $password, true, $iv);

Затем я записываю зашифрованный текст в файл и, в свою очередь, открываю его программой на C, исходный код которой выглядит так же, как эта страница.

Но, к счастью, это не работает. Вывод программы на C является чем-то нечитаемым.

Может кто-нибудь сказать мне, что не так, и есть ли альтернативный способ выполнить эту миссию?


ОБНОВЛЕНИЕ:
Полный код PHP здесь:

<?php
$string = 'The quick brown fox jumps over the lazy dog';
$pass = '01234567890123456789012345678901';
$iv = 'NiceToMeetYou^-^';
$method = 'aes-256-cbc';
file_put_contents ('./file.encrypted', openssl_encrypt ($string, $method, $pass, TRUE, $iv));
?>

Код C полностью такой же, как эта страница, кроме iv, который изменен на NiceToMeetYou ^ — ^.

Выход PHP

00000000  11 58 bf 4e 1c f7 ff f5  56 dc 9b 01 32 fe 16 66  |.X.N....V...2..f|
00000010  4b aa 0f ca e1 b7 a8 5f  c8 64 83 bf d6 88 02 59  |K......_.d.....Y|
00000020  26 0a 62 00 27 2d 78 b4  70 82 d4 9a ac bf 1b c7  |&.b.'-x.p.......|

Файл, сгенерированный программой на C:

0000 - 67 95 70 57 7d d4 52 49-fc 5d 2a 06 3d 66 ef 21   g.pW}.RI.]*.=f.!
0010 - 57 0d e0 cf aa b9 c0 71-b5 ad 0e 0b 56 26 6b 2e   W......q....V&k.
0020 - aa 99 4f 47 2e 6e 08 d7-ec f1 bf a0 8e f3 0d 0a   ..OG.n..........

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы [email protected]