我如何在nodejs服务器中检查带有数字类型的PHP MD5哈希
How can i check a PHP MD5 hash with number type in nodejs server
我正在尝试在 NodeJS 中生成一个 MD5 哈希码,并将其与 php 生成的数字类型为 ex: md5(10)
的 MD5 哈希码进行比较。
NodeJS 似乎没有办法生成仅具有数字类型的 MD5 哈希 - 仅支持 String、Buffer、Array 或 Uint8Array 类型。
我尝试将数字存储到缓冲区或二进制列表中,但我没有设法匹配 php 生成的哈希值:
var buffer = new Buffer(16);
buffer.writeDoubleBE(10)
return crypto.createHash("md5").update(buffer).digest("hex");
// result : c6df1eeac30ad1fab5b50994e09033fb
// PHP-generated hash : 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
我正在尝试在 NodeJS 中生成一个 MD5 哈希码,并将其与 php 生成的数字类型为 ex: md5(10)
的 MD5 哈希码进行比较。
NodeJS 似乎没有办法生成仅具有数字类型的 MD5 哈希 - 仅支持 String、Buffer、Array 或 Uint8Array 类型。
我尝试将数字存储到缓冲区或二进制列表中,但我没有设法匹配 php 生成的哈希值:
var buffer = new Buffer(16);
buffer.writeDoubleBE(10)
return crypto.createHash("md5").update(buffer).digest("hex");
// result : c6df1eeac30ad1fab5b50994e09033fb
// PHP-generated hash : 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