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个长数字的主要内容,如果未能解决你的问题,请参考以下文章

node快速计算md5

如何在TypeScript/JavaScript项目里引入MD5校验和

如何在javascript中使用MD5传输密码

用JS进行Base64编码,MD5加密,实现签名验证 调用快递鸟API接口 完成快递单号查询 JavaScript

node.js 可以像 CouchApp 一样执行从 CouchDB 提取的 JavaScript 函数吗?如何?

javascript 如何将MongoDB与Node.js一起使用