1

我正在尝试使用 node.js 实现 DIGEST-MD5,但它似乎无法正常工作。目前,我尝试通过以下方式实现它:

function md5(str) {
    var hash = crypto.createHash('md5');
    hash.update(str);
    return hash.digest('binary');
}

var A1 = md5(username + ':' + realm + ':' + password);

当我 console.log 这个值(用户名=“test”,领域=“”和密码=“123)时,出现以下内容:“EïSÓ*JÉHF7{”

我将此与 strophe.js 的 javascript 实现进行了比较(这是正确的),并打印出以下“EïSÓ*JÉHF7{¢”

还有另一种计算方法吗?或者它可能是基本字符串的一些错误编码?

谢谢,迈克尔

4

3 回答 3

0

我正在使用节点 v0.4.12,我得到:EïSÓ*JÉHF7{¢

您使用的是哪个版本的节点?

也许这是shell设置的东西尝试执行unix命令:

环境

搜索:LANG=en_US.UTF-8

于 2011-11-05T20:01:38.087 回答
0

看看这个模块,我已经测试过了,它正在工作。

于 2011-11-06T02:05:43.390 回答
0

现在可以工作了,我的代码是正确的,但是我使用了一些错误的变量来构造字符串..

谢谢您的帮助。

于 2011-11-07T10:38:55.403 回答