У меня есть 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?
Можете ли вы помочь мне?
Я добавил исправление в мою суть работы, когда длина шифруемого сообщения не совпадает с кратным 16 символам.
Я попробовал ваш код с aes-256-cbc вместо aes-128-cbc в PHP, и он выдает тот же результат.Изменение метода шифрования PHP на aes-256-cbc должно решить проблему ..
aes-256-cbc
aes-128-cbc