AES-128-CBC не работает одинаково с LUA, PYTHON и PHP - PullRequest
0 голосов
/ 10 июня 2018

У меня есть ESP8266 с Nodemcu и AM2320 сенсором.

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

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

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

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

https://nodemcu -микропрограммное обеспечение* Полученная строка совпадает с результатом на ESP8266 и LUA 5.1

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

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

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

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

Это неправильно в PHP?

Можете ли вы помочь мне?

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

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

0 голосов
/ 10 июня 2018

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

...