node.js DIGEST-MD5计算:计算16个八位字节的MD5哈希值
我正在尝试使用 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{”
我比较了这个使用 strope.js 的 javascript 实现(这是正确的),并打印以下“EïSÓ*JÉHF7{¢”
是否有另一种方法来计算它?或者可能是一些错误的基本编码? ?
字符串 迈克尔
I'm trying to implement DIGEST-MD5 with node.js but it doesn't seem to work correctly.
Currently, I tried to implement it the following way:
function md5(str) {
var hash = crypto.createHash('md5');
hash.update(str);
return hash.digest('binary');
}
var A1 = md5(username + ':' + realm + ':' + password);
When I console.log this value (with username = "test", realm = "" and password = "123), the following appears: "EïSÓ*JÉHF7{"
I compared this with the javascript implementation of strophe.js (which is correct) and this prints the following "EïSÓ*JÉHF7{¢"
Is there another way on how to calculate it? Or is it maybe some wrong encoding of the base string?
Thanks,
Michael
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我正在使用节点 v0.4.12 并且我得到:
EïSÓ*JÉHF7{
您使用的是哪个版本的节点?
也许这是 shell 设置的事情尝试执行 unix 命令:
env
搜索:
LANG=en_US.UTF-8
I;m using node v0.4.12 and i am getting:
EïSÓ*JÉHF7{¢
which version of node you are using?
maybe this is shell settings thing try execute unix command:
env
search for:
LANG=en_US.UTF-8
看看这个模块,我已经测试过它并且它可以工作。
Have a look at this module, I've tested this and it's working.
现在可以工作了,我的代码是正确的,但我使用了一些错误的变量来构造字符串。
感谢您的帮助。
Got it working now, my code was correct but I used some wrong variables for constructing the string..
Thanks for the help.