我正在使用crypto-js.js并在那里创建一个sha512
函数来创建变量hash1
。我们成功创建了哈希,然后用密码更新哈希,但之后无法使用摘要功能。
var sha512 = function (password, salt) {
var hash1 = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA512, salt); /** Hashing algorithm sha512 */
hash1.update(password);
var value = hash1.digest('hex');
return {
salt: salt,
passwordHash: value
};
};
有人知道如何解决这个问题吗?
答案 0 :(得分:0)
digest
是Node.js 加密模块中的HMAC方法。 CryptoJS中的等效方法是finalize
。 finalize
的结果是CryptoJS WordArray
对象。要获取十六进制字符串,请在将被视为字符串的上下文中使用WordArray
。具体来说,替换你的:
var value = hash1.digest('hex');
使用:
var value = '' + hash1.finalize();