如何在节点中使用 bcryptjs 散列密码?

How to hash password with bcryptjs in node?

我通过 req.body 收到密码并像这样散列它:

    const { name, email, password, number } = req.body;

    let userExist;
    userExist = await User.find({ email: email });

    if (userExist.length) {
        const err = new Error('User already exists');
        return next(err);
    }

    let hashedPass;
    try {
        hashedPass = await bcrypt(req.body.password, 12);
    } catch (e) {
        console.log('error here bro');
        return next(e);
    }

    const createdUser = new User({
        name,
        email,
        password: hashedPass,
        number,
        ads: []
    });

它控制台记录 'error here bro' 我不知道为什么。

如何使用 bcrypt js 散列来自用户的密码?

通过在bcrypt

后面添加hash解决了问题
bcrypt.hash(....)

您还可以通过以下方式给密码加盐:

const salt = await bcrypt.genSalt(7);
const hashPassword = await bcrypt.hash(req.body.secret, salt);