Node.js crypto.pbkdf2返回'void'-我该怎么办?

时间:2020-05-17 12:17:12

标签: javascript node.js callback pbkdf2

我正在尝试创建密码哈希功能,并且Node的crypto.pbkdf2返回void。这是否意味着我必须在回调函数中设置值?我是编程的新手,所以我从未对回调有深入的了解-我更习惯于Promises和async / await。

我的假设是pbkdf2会生成哈希密码并返回它-因此,我不确定该void方法该怎么做,或者它如何有用。

我注意到我可以改用pbkdf2Sync-我想我可以将其与async函数一起包装-但这似乎是试图绕过pbkdf2与pbkdfs2Sync的设计决定。

这就是我最终尝试的-任何反馈,包括我的keylen属性是否合适,我们将不胜感激-我只是基于Crypto文档。

    private hashPassword(password, salt):string {
        let hashedPassword:string;

        const iterations = 50000;
        const keylen = 64;
        const digest = 'sha512';
        crypto.pbkdf2(password, salt, iterations, keylen, digest, (err, derivedKey) => {
            if (err) throw err;
            hashedPassword = derivedKey.toString();
            console.log(derivedKey);
        })

        return hashedPassword;
    }

0 个答案:

没有答案