php7.1 шифрование openssl с помощью aes_128 ecb PKCS 7padding дает неверный результат - PullRequest
0 голосов
/ 12 мая 2018

Я использую openssl для шифрования шестнадцатеричных данных. Выходные данные отличаются правым выводом (длиннее правого вывода). веб-сайт онлайн-шифрования , я думаю, возможно, нужно установить отступы. Но я нахожу этот вопрос , ответ сказал, что pkcs7padding является настройкой по умолчанию. Так чего мне не хватает?

//secret hex '2b7e151628aed2a6abf7158809cf4f3c'
//input  hex '6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e51'
//right output hex '3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf'


$secret = '2b7e151628aed2a6abf7158809cf4f3c';
$input = '6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e51';
$output = openssl_encrypt(hex2bin($input),'aes-128-ecb',hex2bin($key),OPENSSL_RAW_DATA);

echo bin2hex($output); 
//3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaafa254be88e037ddd9d79fb6411c3f9df8

1 Ответ

0 голосов
/ 13 мая 2018
openssl_encrypt(hex2bin($input),'aes-128-ecb',hex2bin($key),OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING);
...