如何在节点中使用bcryptjs哈希密码?

问题描述

我通过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,password: hashedPass,number,ads: []
    });

它的控制台会记录“这里的错误”,我不知道为什么。

如何使用bcrypt js哈希来自用户的密码?

解决方法

您还可以通过以下方式在密码中添加盐:

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

通过在bcrypt之后添加哈希解决了该问题

<body>
<ion-app>
    <ion-content>
        <ion-item>
        {{ form.name }}
        {{ form.submit }}
        </ion-item>
    </ion-content> 
</ion-app>
</body>