首页 > 解决方案 > 可重用的 bcrypt 函数,从函数问题返回数据

问题描述

我有这个散列函数,我想取回所有使用 bcryptjs 生成的散列。当我console.log(encrypt(password))返回时undefined。我试图做一个Promise.all,但我对承诺不是很好。考虑到它返回未定义的事实,我的猜测是它是函数的结构方式。

功能

const bcrypt = require("bcryptjs");

module.exports = function encrypt(password) {
    bcrypt.genSalt(10, async (err, salt) => {
      const encryptedPassword = await bcrypt.hash(password, salt);
      const details = {
        password: encryptedPassword,
      };
      return details;
    });
}; 

让我知道您是否需要我的其他任何东西。

标签: javascriptbcryptmodularity

解决方案


像这样使用 async 和 await 来加密密码

const bcrypt = require("bcryptjs");        
module.exports = async function encryptPassword(password) { 
    return await bcrypt.hash(password, 10)
};

推荐阅读