По какой причине decrypt Crypto.Cipher AES возвращает не верный результат? сервер encrypt PHPfunction encrypt($result, $key_pass){ $encrypted_data = openssl_encrypt($result, 'aes-256-cbc', $key_pass, OPENSSL_RAW_DATA, '1234567890123412'); return base64_encode($encrypted_data); } $key_pass = "my_mega_super_pass_my_mega_super"; $result = "my_test"; echo encrypt($result, $key_pass);KrixJ45x30l+vFi32QS6Qw==клиент decrypt Pythonfrom Crypto.Cipher import AES from base64 import b64decode key = b'my_mega_super_pass_my_mega_super' obj2 = AES.new(key, AES.MODE_CBC, b'0123456789012345') ciphertext = b"KrixJ45x30l+vFi32QS6Qw==" plaintext = obj2.decrypt(b64decode(ciphertext)).strip().decode('utf-8') print(plaintext)lz^sdpu

6 Янв 2023 в 19:54
199 +1
0
Ответы
1

Причина неверного результата может быть связана с различиями в способах шифрования и дешифрования между PHP и Python.

В PHP вы используете OpenSSL для шифрования данных с использованием алгоритма AES-256-CBC, в то время как в Python вы используете библиотеку Crypto.Cipher для дешифрования данных.

Проверьте, что ваши параметры шифрования режимшифрования,ключ,инициализационныйвекторрежим шифрования, ключ, инициализационный векторрежимшифрования,ключ,инициализационныйвектор в обоих случаях совпадают. Убедитесь также, что процесс передачи данных между PHP и Python например,кодированиеидекодированиеbase64например, кодирование и декодирование base64например,кодированиеидекодированиеbase64 выполняется правильно.

Кроме того, убедитесь, что ключ для дешифрования в Python соответствует ключу для шифрования в PHP. При несовпадении ключей результат дешифрования может быть некорректным.

Проверьте также, что вы верно обрабатываете данные до и после шифрования/дешифрования например,добавление/удалениесимволовпробелаилидругихсимволовнапример, добавление/удаление символов пробела или других символовнапример,добавление/удалениесимволовпробелаилидругихсимволов.

Следует провести дополнительное тестирование и отладку кода, чтобы исключить возможные ошибки и найти причину неправильного результата.

16 Апр 2024 в 16:52
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир