nodejs:如何通过javascript将md5摘要切割成4个长数字
Posted
技术标签:
【中文标题】nodejs:如何通过javascript将md5摘要切割成4个长数字【英文标题】:nodejs: how to cut md5 digest into 4 long number by javascript 【发布时间】:2011-05-29 04:39:17 【问题描述】:我的代码在下面,但有时它显示负数,我想我做错了。所以我添加最大数使其大于零,但二进制操作是最好的。
var buff2hash = function(buff, part)
var hash = buff[part * 4 + 3] << 24 |
buff[part * 4 + 2] << 16 |
buff[part * 4 + 1] << 8 |
buff[part * 4];
//return hash // this number will be negative sometimes
return hash < 0 ? hash + 4294967296 : hash;
;
var md5hashcode = exports.md5hashcode = function(key)
return buff2hash(new Buffer(crypto.createHash('md5').update(key).digest()), 0);
;
【问题讨论】:
【参考方案1】:哈希变量的最高位是符号。要将哈希“破解”转换为无符号 32 位整数,请执行以下操作:
return hash>>>0;
(忘记“返回”行中的所有喧嚣,只需执行上述操作即可。)
【讨论】:
以上是关于nodejs:如何通过javascript将md5摘要切割成4个长数字的主要内容,如果未能解决你的问题,请参考以下文章
使用 Crypto 将 PHP openssl_encrypt 与 md5 转换为 NodeJS
如何在 url 中传递参数,在 NodeJS 后端的 javascript 服务器端使用冒号?