У меня вопрос, я хочу заменить вызов функции mcrypt на open_ssl decrypt. но вывод смешанный:
Это реализация mcrypt (которая отлично работает):
$decrypted = trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128,
substr(sha1($this->secretKey), 0, 32),
base64_decode($encrypted),
MCRYPT_MODE_CBC,
base64_decode($iv)), "\0..\32");
var_dump($decrypted);
И я перевел это на:
var_dump(
trim(
openssl_decrypt(
$encrypted,
'AES-256-CBC',
substr(sha1($this->secretKey), 0, 32),
OPENSSL_ZERO_PADDING, $iv)
),"\0..\32");
,
Но это приводит к ошибке:
openssl_decrypt(): переданный IV имеет длину 24 байта, что больше, чем 16 байтов, ожидаемых выбранным шифром, усекая
И смешанный вывод:
'м% xlj j>|lgSke":"2017-05-19T05:48:37-07:00","квитанция":
Смешивается первая пара ключ-значение.
Любые предложения или любой вариант, который я мог пропустить?
спасибо!