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 に記録すると (username = "test"、realm = ""、password = "123)、次のように表示されます: "EïSÓ*JÉHF7{"

これを strophe.js の JavaScript 実装 (正しい) と比較すると、次の "EïSÓ*JÉHF7{¢" が出力されます。

それを計算する方法に別の方法はありますか?それとも、ベース文字列のエンコーディングが間違っているのでしょうか?

ありがとう、マイケル

4

3 に答える 3

0

これで動作するようになりました。コードは正しいのですが、文字列を作成するためにいくつかの間違った変数を使用しました。

助けてくれてありがとう。

于 2011-11-07T10:38:55.403 に答える
0

このモジュールを見てください。私はこれをテストしましたが、動作しています。

于 2011-11-06T02:05:43.390 に答える
0

ノード v0.4.12 を使用していますが、EïSÓ*JÉHF7{¢ を取得しています。

どのバージョンのノードを使用していますか?

おそらくこれはシェル設定であり、unixコマンドを実行してみてください:

環境

検索: LANG=en_US.UTF-8

于 2011-11-05T20:01:38.087 に答える