gpt4 book ai didi

javascript - 平均堆栈 : Bcrypt is not hashing my password

转载 作者:行者123 更新时间:2023-12-01 01:28:11 26 4
gpt4 key购买 nike

连接工作正常,我可以发布新用户并对其进行编辑。现在我想使用 bcrypt 来“加密”我的 mongoDB 中的密码。我做错了什么?

在我的 app.js 文件中

我确实有“var bcrypt = require('bcrypt'); ”,我还引用了 mongoose、express 和所有应有的内容

代码:

app.post('/api/user', (req, res) => {

res.redirect('http://localhost:4200/');

var newUserData = { username: req.body.username, password: req.body.password, mail: req.body.mail, role: "user" };

const saltRounds = 10;
var hash = bcrypt.hashSync(newUserData.req.body.password, saltRounds);

bcrypt.compareSync(newUserData.req.body.password, hash);


var user = new User(newUserData, function(err) {
});

user.save();
});

最佳答案

您忘记将新生成的哈希分配给该用户的密码。它不会自动为您执行此操作。

您应该在获得哈希之后、创建 User 对象之前执行类似的操作。

var hash = bcrypt.hashSync(newUserData.password, saltRounds);

newUserData.password = hash;

此外,像这样调用 bcrypt.compareSync 是没有意义的,您可能应该使用异步版本以防散列,因为该操作非常昂贵,并且您不想阻塞主线程靠它。

关于javascript - 平均堆栈 : Bcrypt is not hashing my password,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53560492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com