EVP_DecryptFinal_ex: данные не кратны длине блока для AES-256-CBC в 16-байтовом зашифрованном тексте - PullRequest
0 голосов
/ 05 июля 2019

Вот мой код:

<?php
$e = 'eyJpdiI6IkpVS2E3c1gxOGp0N3ZudERxb0hFemc9PSIsInZhbHVlIjoiM3MrNjkrWlNjb3lRYitxMGVPVVRPUT09IiwibWFjIjoiYTZhOWRjZjM2YTlkODc3ZDRjYjU5ODAxMmE3MGI3ZDE1ZDY5NjQzM2FmNjBkNDY5MDM1Mzg5ZTlkNDVjYjBiZSJ9';

$key = str_repeat('a', 32);

$payload = (array) json_decode(base64_decode($e));
$payload = array_map('base64_decode', $payload);

$p = openssl_decrypt(
    $payload['value'],
    'AES-256-CBC',
    $key,
    OPENSSL_ZERO_PADDING,
    $payload['iv']
);

echo openssl_error_string() . "\n";

var_dump($p);

$payload['value'] имеет длину 16 байт, как $payload['iv'].Размер блока AES также составляет 16 байт, поэтому я не понимаю, почему я получаю ошибку «, не кратную длине блока » ...

...