如何在nodejs服务器中检查数字类型为的PHP MD5哈希

如何在nodejs服务器中检查数字类型为的PHP MD5哈希,php,node.js,md5,Php,Node.js,Md5,我试图在NodeJS中生成MD5哈希代码,并将其与php生成的数字类型为ex:MD5(10)的MD5哈希代码进行比较。 NodeJS似乎没有办法只生成数字类型的MD5散列-只支持字符串、缓冲区、数组或Uint8Array类型 我尝试将数字存储到缓冲区或二进制列表中,但未能与php生成的哈希匹配: var缓冲区=新缓冲区(16); 缓冲区。可写子对象(10) 返回crypto.createHash(“md5”).update(buffer.digest(“十六进制”); //结果:c6df1eea

我试图在NodeJS中生成MD5哈希代码,并将其与php生成的数字类型为ex:
MD5(10)
的MD5哈希代码进行比较。 NodeJS似乎没有办法只生成数字类型的MD5散列-只支持字符串、缓冲区、数组或Uint8Array类型

我尝试将数字存储到缓冲区或二进制列表中,但未能与php生成的哈希匹配:

var缓冲区=新缓冲区(16);
缓冲区。可写子对象(10)
返回crypto.createHash(“md5”).update(buffer.digest(“十六进制”);
//结果:c6df1eeac30ad1fab5b50994e09033fb
//PHP生成的散列:md5(10)=d3d9446802a44259755d38e6d163e820
php中的MD5具体如何处理数据类型?

我应该使用哪种数据形式来获得相同的结果?

PHP中的md5函数计算字符串的哈希值,因此在您的示例中,它实际上是在计算“10”的哈希值

在Node.js中执行此操作应该非常简单:

const dataToHash = Buffer.from(String(10), "utf-8");
const hash = crypto.createHash("md5").update(dataToHash).digest("hex");
console.log("Hash:", hash);
我们在Node.js中得到的结果与在PHP中得到的结果相同,例如

Hash: d3d9446802a44259755d38e6d163e820

看起来您在这里回答了相同的问题: