Bcrypt 和 PassportJs 用户注册
Posted
技术标签:
【中文标题】Bcrypt 和 PassportJs 用户注册【英文标题】:Bcrypt And PassportJs User Registration 【发布时间】:2020-09-11 00:23:43 【问题描述】:我不确定我是否是我们,ng bcrypt 是否正确。
这是我尝试编写的代码。
app.post('/kayıt/', function(req, res)
bcrypt.genSalt(10, function(err, salt)
bcrypt.hash(password, salt, function(err, hash)
let user = new User(
isim:req.body.isim,
email:req.email.isim,
password:req.body:password,
);
user.save(function(err)
if(err)
console.log(err);
else
res.redirect('/');
);
你认为有什么错误吗?或者正确使用 bcrypt 和用户注册过程。(注意:在我的程序中,我卡在了另一个关于 express-validator 的代码块中,所以我尝试编写代码但我不确定它是否正确)
那么你能告诉我这些代码,如果错了我应该改变什么,如果不是,还有什么可以替代写这个注册部分?
【问题讨论】:
【参考方案1】:有多种方法可以使用bcrypt.js
来hash
密码。就像你可以使用Promise
、async
、sync
。您使用的是async
,它在单独的函数调用中生成salt
和hash
。您的代码中的一个错误应该是 password:req.body.password
,您需要在 body
之后使用 dot(.)
而不是 colon(:)
。
除了您的代码之外,哈希密码的方法之一是
router.post('/kayıt', async (req, res) =>
//hashed password
const salt = await bcrypt.genSalt(10);
const hashedPassword = await bcrypt.hash(req.body.password, salt);
const user = new User(
isim: req.body.isim,
email: req.body.email,
password: hashedPassword
);
user.save(function(err)
if (err)
console.log(err);
else
res.redirect('/');
);
);
你可以看看here。
【讨论】:
请问如果我实现自己的代码,它会工作吗? 那么我的代码和你的代码有什么区别? 您的代码是async
,它在单独的函数调用上生成盐和散列。我用过Async/await
请你看看这里***.com/questions/61922186/…请
好的,问题解决了,非常感谢先生。以上是关于Bcrypt 和 PassportJs 用户注册的主要内容,如果未能解决你的问题,请参考以下文章