Bcrypt 和 PassportJs 用户注册

Bcrypt And PassportJs User Registration

我不确定我是不是我们,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和用户注册过程。(注意:在我的procet中,我卡在了另一个关于express-validator的代码块中,所以我尝试编写代码但我不确定它是否正确)

所以你能告诉我这些代码吗,如果错了我应该改什么,如果不是的话还有什么可以替代写这个注册部分?

使用 bcrypt.js hash 密码的方法有多种。就像你可以使用 Promiseasyncsync。您使用的是 async,它在单独的函数调用中生成 salthash。您的代码中的一个错误是它应该是 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.