【问题标题】:digest('hex') function not found using CryptoJS使用 CryptoJS 找不到 digest('hex') 函数
【发布时间】:2018-05-27 14:09:13
【问题描述】:

我正在使用 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
    };
};

有人知道如何解决这个问题吗?

【问题讨论】:

  • 我的在“hash1.update(password);”中给出了一个错误(hash1.update 不是一个函数)线。任何想法如何解决这个问题?

标签: javascript salt cryptojs


【解决方案1】:

digest 是 Node.js crypto 模块中的 HMAC 方法。 CryptoJS 中的等效方法是finalizefinalize 的结果是 CryptoJS WordArray 对象。要获取十六进制字符串,请在将其视为字符串的上下文中使用WordArray。具体来说,替换您的:

    var value = hash1.digest('hex');

与:

    var value = '' + hash1.finalize();

【讨论】:

    猜你喜欢
    • 2021-01-08
    • 1970-01-01
    • 2021-01-31
    • 2021-11-24
    • 2017-08-29
    • 2016-03-18
    • 2014-08-13
    • 2013-02-19
    • 2013-03-26
    相关资源
    最近更新 更多