可重用的 bcrypt 函数,从函数问题返回数据

Reusable bcrypt function, returning data from function issue

我有这个散列函数,我想取回使用 bcryptjs 生成的所有散列。当我console.log(encrypt(password))它returnsundefined。我尝试过 Promise.all 但我不太擅长承诺。考虑到它 returns 未定义这一事实,我的猜测是函数的结构方式。

函数

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;
    });
}; 

如果您需要我提供任何其他信息,请告诉我。

像这样使用异步和等待,用于加密密码

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