NodeJS - Passport密码在DB中显示为纯文本

时间:2014-01-11 19:09:21

标签: node.js passport.js

可能我在这里遗漏了一些东西。

有MongoDB的Express服务器,我正在使用护照进行身份验证。 我正在使用其中一个标准代码示例进行注册,看起来没问题,但我可以在我的数据库中看到密码字段(纯文本)中输入的密码。
我预计它会被加密......

我做错了吗?

1 个答案:

答案 0 :(得分:1)

您必须自己哈希密码。以下是使用bcrypt:

的方法
function hashPassword (password) {
    return bcrypt.hashSync(password, bcrypt.genSaltSync());
}

因此,在将用户保存到数据库之前,只需调用该函数即可:

 user.password = hashPassword(thepassword);