我正在使用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结果我做错了什么?
答案 0 :(得分:2)
哦好的 - 答案不在我发布的代码中。
我使用的是SHA256代码的3.0.2版本,以及版本3.1.2的MD5。
将SHA256更新为3.1.2,因此它们都在同一版本上,已修复它。我在MD5之前包含SHA256,所以它必须覆盖MD5文件中的内容。