【发布时间】:2019-02-18 03:04:15
【问题描述】:
我正在使用带有 "HTTPClient.h" 库的 esp32(Arduino 平台不是 esp-idf)向我的 PHP 服务器发送带有参数的 get 请求。
我想加密参数值并在我的 PHP 代码中解密它们,反之亦然(我的服务器将 JSON 数据发送回我的 esp32)。
我尝试将 XXTEA 协议与这些库一起用于 PHP 和 esp32。
但加密后的字符串在 PHP 上无法正确解密。
例子:
当我使用密钥"ENCRYPTION KEY" 在我的esp32 上加密"HELLO WORLD" 时,我得到了这个:
35bd3126715874f741518f4d
当我在 PHP 上解密它时,它返回空白。
此外,当我在我的 PHP 服务器上对其进行加密时,我得到了这个:
T1YNYC4P4R2Y5eCxUqtjuw==
我的 esp32 草图如下所示:
#include <xxtea-iot-crypt.h>
void setup() {
Serial.begin(115200);
}
void loop() {
String plaintext = "HELLO WORLD";
// Set the Password
xxtea.setKey("ENCRYPTION KEY");
// Perform Encryption on the Data
Serial.print(F(" Encrypted Data: "));
String result = xxtea.encrypt(plaintext);
Serial.println(result);
// Perform Decryption
Serial.print(F(" Decrypted Data: "));
Serial.println(xxtea.decrypt(result));
delay(2000);
}
我的 PHP 代码如下所示:
require_once('xxtea.php');
$str = "HELLO WORLD"
$key = "ENCRYPTION KEY";
$encrypt_data = xxtea_encrypt($str, $key);
error_log($encrypt_data);
有没有办法在 PHP 和 esp32 之间进行加密字符串通信?
提前致谢。
【问题讨论】:
-
我删除了旧的,因为一个离点阻塞或保持或类似的东西
-
由于问题的问题而被搁置。重新发布它不是解决这个问题的好方法。
-
我认为主要问题是你的问题太宽泛了。 PHP 和 ESP32 都能够加密,但 Stack Overflow 不太适合此类广泛的问题,因为响应可能主要是基于意见的。我建议改用 ESP32 论坛@ESP32.com。
-
我也会尝试在那里发布,我还在 github 上发布了图书馆的错误,但我没有得到回应,所以我来到这里。我在互联网上到处寻找方法,但没有找到任何关于我想在我的 PHP 和我的 esp32 之间使用的加密通信。