Javascript 将一个长文本转换成一个数字(比如hash,md5),在PHP和JS中得到相同的结果

Javascript 将一个长文本转换成一个数字(比如hash,md5),在PHP和JS中得到相同的结果,javascript,php,Javascript,Php,我正试图像md5一样,将一个小段落转换成一系列数字(可能还有字符)。 我在PHP中尝试了md5()和http://www.myersdaily.org/joseph/javascript/md5.js 使用JS但是我得到了不同的结果 我不知道为什么会发生这种情况,但你能建议我一种方法,将文本转换为一系列字符和数字(以DB格式保存),这将给我相同的输出吗?我不介意输出不是加密的 谢谢我会使用base64编码/解码。查看php的链接,这里有一个链接,其中有一些javascript示例,如果不需要加密

我正试图像md5一样,将一个小段落转换成一系列数字(可能还有字符)。 我在PHP中尝试了
md5()
http://www.myersdaily.org/joseph/javascript/md5.js 使用JS
但是我得到了不同的结果

我不知道为什么会发生这种情况,但你能建议我一种方法,将文本转换为一系列字符和数字(以DB格式保存),这将给我相同的输出吗?我不介意输出不是加密的


谢谢

我会使用base64编码/解码。查看php的链接,这里有一个链接,其中有一些javascript示例,如果不需要加密,请将它们转换为十六进制值

例如,“堆栈”将是537461636B。 如果您想轻松地加密它们,只需使用xor即可。这不能在任何可能的语言中给出不同的结果

在PHP中,我在这里找到了这个函数


在JS中,我在这里找到了一些代码

您对JS MD5函数的确切输入是什么?我必须承认我没有使用过哈希和JS,但可能不会因为bug而得到不同的输出。您是否通过JS获取远程数据,然后对其进行散列或类似操作?这可能是因为你一开始就没有对同一件事进行哈希运算。无论如何,如果我是你,我也会使用哈希库,所以我不能建议其他选择。如果您的PHP
echo md5('a')
不会产生与JS的“console.log(md5('a'))相同的结果;那么js代码肯定是有缺陷的。二进制是一个数字序列;)你能告诉我怎么做吗?