问题标签 [xxtea]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
863 浏览

php - esp32 和 php XXTEA 字符串加密

我正在使用带有"HTTPClient.h"库的 esp32(Arduino 平台不是 esp-idf)向我的 PHP 服务器发送带有参数的 get 请求。

我想加密参数值并在我的 PHP 代码中解密它们,反之亦然(我的服务器将 JSON 数据发送回我的 esp32)。

我尝试将 XXTEA 协议与这些库一起用于PHPesp32

但是加密的字符串不会在 PHP 上正确解密。

例子:

当我用密钥"HELLO WORLD"对我进行加密时,我得到了这个:esp32"ENCRYPTION KEY"

35bd3126715874f741518f4d

当我在 PHP 上解密它时,它返回空白。

此外,当我在我的 PHP 服务器上加密它时,我得到了这个:

T1YNYC4P4R2Y5eCxUqtjuw==

我的 esp32 草图如下所示:

我的 PHP 代码如下所示:

有没有办法在 PHP 和 之间进行加密字符串通信esp32

提前致谢。

0 投票
1 回答
79 浏览

javascript - 不同语言中相同代码的不同行为

我正在尝试用 Javascript (Node.js) 解密Block TEA。我尝试在 C++ 中做同样的事情,它按预期工作:

它输出:

但是在 Node.js 中使用相同的代码(移植):

它永远停留在do ... while循环中。

我发现 Javascript 和 C++ 的处理0x9e3779b9方式不同,因为0x9e3779b9 * 15在 JS 中等于 39816536535 和 C++ 中的 1161830871。C++ 中的数学有什么问题以及如何在 JS 中实现这一点?

对不起,如果我的英语不是最好的。