Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AES-128-CBC don';我不能以同样的方式使用LUA、PYTHON和PHP_Php_Python_Aes_Esp8266_Nodemcu - Fatal编程技术网

AES-128-CBC don';我不能以同样的方式使用LUA、PYTHON和PHP

AES-128-CBC don';我不能以同样的方式使用LUA、PYTHON和PHP,php,python,aes,esp8266,nodemcu,Php,Python,Aes,Esp8266,Nodemcu,我有一个带Nodemcu的ESP8266和一个AM2320传感器 我正在将JSON格式的温度和湿度发送到我的HTTP服务器,以便使用PHP和SQLITE3收集数据 这是正确的 但我希望使用AES-CBC对我的数据进行加密 我使用crypto.encrypt()函数和“AES-CBC”方法对ESP8266上的措施进行加密,如下示例: 我用Python 3在我的电脑上进行同样的加密 结果字符串与ESP8266和LUA 5.1上的结果匹配 接下来,我在我的PC上执行相同的加密,但使用的是PHP7.1

我有一个带Nodemcu的ESP8266和一个AM2320传感器

我正在将JSON格式的温度和湿度发送到我的HTTP服务器,以便使用PHP和SQLITE3收集数据

这是正确的

但我希望使用AES-CBC对我的数据进行加密

我使用crypto.encrypt()函数和“AES-CBC”方法对ESP8266上的措施进行加密,如下示例:

我用Python 3在我的电脑上进行同样的加密

结果字符串与ESP8266和LUA 5.1上的结果匹配

接下来,我在我的PC上执行相同的加密,但使用的是PHP7.1

唉,结果字符串与前面的结果不匹配。 我在openssl\u encrypt()函数上使用“AES-128-CBC”方法

我在Github.com上用三种语言写了一个要点:

这在PHP中是错误的


你能帮我吗?

我用
aes-256-cbc
而不是PHP中的
aes-128-cbc
尝试了你的代码,它给出了相同的输出。将PHP加密方法更改为aes-256-cbc应该可以解决这个问题。

当要加密的消息长度不是16个字符的倍数时,我为我的工作要点添加了一些修正。

我做了您建议的更改,它正在运行。也许Nodemcu中的文档已经过时了非常感谢您的帮助不客气,我很高兴您能让它正常工作。请不要忘记将答案标记为已接受,谢谢