0

Javascript MD5 および SHA256 ハッシュに CryptoJS ライブラリを使用しています: https://code.google.com/p/crypto-js/

SHA256 は問題なく動作していますが、MD5 ハッシュの結果を単語配列から文字列に戻すことができません。以下は、問題を解決するために使用しているコードです-実際のハッシュ結果をサブベッドし、console.log()出力をコメントとして追加しました

email_hash = $rootScope.session.email.toLowerCase();

console.log('email', email_hash);
// email email@example.com

sha_hash = CryptoJS.SHA256(email_hash).toString(CryptoJS.enc.Hex);

console.log('sha', sha_hash);
// sha SHA256-VALUE-OUTPUTS-FINE

email_hash = CryptoJS.MD5( email_hash );

console.log( JSON.stringify( email_hash ) );
//{"words":[0000000000,-0000000000,-00000000000,0000000000],"sigBytes":16}

a = email_hash.toString( CryptoJS.enc.Latin1 );
b = email_hash.toString( CryptoJS.enc.Hex );

console.log( a, b );
// [object Object] [object Object] 

MD5 の結果で何が間違っていますか?

4

1 に答える 1

2

わかりました-答えは私が投稿したコードにはありません。

私は SHA256 コードのバージョン 3.0.2 と MD5 のバージョン 3.1.2 を使用していました。

SHA256 を 3.1.2 に更新すると、両方が同じバージョンになり、修正されました。MD5 の前に SHA256 を含めているので、MD5 ファイル内の何かを上書きしていたに違いありません。

于 2014-02-19T12:39:39.577 に答える