CryptoJS MD5不转换字数组,SHA256工作正常

时间:2014-02-19 12:26:03

标签: javascript hash md5 cryptojs

我正在使用CryptoJS库进行Javascript MD5和SHA256哈希: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结果我做错了什么?

1 个答案:

答案 0 :(得分:2)

哦好的 - 答案不在我发布的代码中。

我使用的是SHA256代码的3.0.2版本,以及版本3.1.2的MD5。

将SHA256更新为3.1.2,因此它们都在同一版本上,已修复它。我在MD5之前包含SHA256,所以它必须覆盖MD5文件中的内容。