AES-128-CBC не работает одинаково с LUA, PYTHON и переполнением стека

у меня есть ESP8266 с Нодемку и AM2320 Датчик.

Я отправляю температуру и влажность в формате JSON в виде простого текста на мой HTTP сервер для сбора данных с PHP и SQLITE3.

Это работает правильно.

Но я хочу зашифровать свои данные с AES-CBC

Я шифрую меры на ESP8266 с crypto.encrypt () функция и метод AES-CBC, как в этом примере:

https://nodemcu-firmware.readthedocs.io/en/latest/en/modules/crypto/#cryptoencrypt

Я делаю то же самое шифрование на моем ПК с Python 3 .

Результирующая строка совпадает с результатом на ESP8266 и LUA 5.1

Затем я делаю то же самое шифрование на моем ПК, но с PHP 7.1

Увы, результирующая строка не совпадает с предыдущими результатами.
Я используюAES-128-CBCметод на openssl_encrypt () функция.

Я поместил скрипт на трех языках в Gistub.com:

https://gist.github.com/bazooka07/bed368d313e218fcba332cb2127c70b1

Это не так в PHP?

Вы не могли бы мне помочь ?

1

Решение

Я пробовал твой код с aes-256-cbc вместо aes-128-cbc в PHP, и это дает тот же результат. Изменение метода шифрования PHP на aes-256-cbc должен решить проблему ..

2

Другие решения

Я добавил некоторые исправления в мою суть работы, когда длина шифруемого сообщения не совпадает с кратным 16 символам.

0

По вопросам рекламы [email protected]