node.js DIGEST-MD5: вычисление 16-октетного MD5-хэша - PullRequest
1 голос
/ 05 ноября 2011

Я пытаюсь реализовать DIGEST-MD5 с помощью node.js, но, похоже, он работает неправильно.В настоящее время я пытался реализовать его следующим образом:

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 {"

Я сравнил это с реализацией javascript strophe.js (это правильно), и это печатает следующее "EïSÓ * JÉHF7 {¢"

Есть ли другой способо том, как его вычислить? Или это может быть неправильное кодирование базовой строки?

Спасибо, Майкл

Ответы [ 3 ]

0 голосов
/ 06 ноября 2011

Посмотрите на этот модуль , я проверил это, и он работает.

0 голосов
/ 07 ноября 2011

Теперь все работает, мой код был верным, но я использовал неправильные переменные для построения строки.

0 голосов
/ 06 ноября 2011

Я использую узел v0.4.12 и получаю: EïSÓ * JÉHF7 {¢

какую версию узла вы используете?

возможно, это настройки оболочки, попробуйте выполнить unixкоманда:

env

поиск: LANG = en_US.UTF-8

...