node.js DIGEST-MD5计算:计算16个octect MD5哈希值

时间:2011-11-05 16:03:12

标签: node.js sasl

我正在尝试使用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中输入此值(使用username =“test”,realm =“”和password =“123)时,会出现以下内容:”EïSÓ*JÉHF7{“

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

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

谢谢, 迈克尔

3 个答案:

答案 0 :(得分:0)

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

您正在使用哪个版本的节点?

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

的env

搜索: LANG =的en_US.UTF-8

答案 1 :(得分:0)

看看这个module,我已经测试了这个并且它正在运行。

答案 2 :(得分:0)

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

感谢您的帮助。