выполняю следующий код для шифрования на Python (в частности, micropython 1.24 2024-10- 25) и следующий блок кода для расшифровки на php8.2.
Код: Выделить всё
import cryptolib
import binascii
key= b'a0354928143197a743984e2fa023b7ba'
iv= b'cee675e8012e6d7d0984d1524885d7ab'
def ency( plain):
aes= cryptolib.aes( key, 2, binascii.unhexlify( iv))
plain= plain + ((16 - len( plain) %16) * b' ')
oo= aes.encrypt( plain)
return binascii.b2a_base64( oo, newline=False)
ency( b'plain text to encrypt')
Код: Выделить всё
$key= 'a0354928143197a743984e2fa023b7ba';
$iv= 'cee675e8012e6d7d0984d1524885d7ab';
echo openssl_decrypt( 'DDqFxr2kMvhSRCkI0HTzs+IpxaKnCvKc71j5him8AzE=', 'aes-256-cbc', $key, $options= 0, hex2bin( $iv), $tag);
while($oo= openssl_error_string())
echo $oo;
добавил base64_decode и OPENSSL_RAW_DATA в php,
использовал hexlify и hex2bin,
есть идеи, что изменить?
какое-то дополнение?
этот код в обратном порядке, кодировка на PHP декодирование на Python работает.
для заполнения автоматически добавляются \x08 и \t.
Подробнее здесь: https://stackoverflow.com/questions/792 ... ock-length