为了账号安全,请及时绑定邮箱和手机立即绑定

save的时候已经加密了,可是在数据库查表的时候还是加密之前的?


 app.post("/index/signin",function(req,res,next){

  var _user ;

  _user = new USER({

  username:req.body.username,

  password:req.body.password,

  });

  _user.save(function(err,fe){

  console.log(_user.password)//$2a$10$xUZNtgSjgHlDjmQoCTDsQO.AdQ6woRUWYSO.zayGcmVeZw0UKJC8.

  if(err){

  res.send(err);

  }

  else{

  res.send({"ret":"ok"})

  }

  });

});


正在回答

3 回答

我也遇到了这个问题

0 回复 有任何疑惑可以回复我~

UserSchema.pre('save',function(next){

var user = this;

console.log('this is first');

//保存新数据

if(this.isNew){

this.meta.createAt = this.meta.updateAt =Date.now();

}

else{

//更新数据

this.meta.updateAt = Date.now();

}


bcrypt.genSalt(SALT_WORK_FACTOR,function(err,salt){

if(err){  console.log(err); return next(err)}

bcrypt.hash(user.password,salt,function(err,hash){

if(err) {return next(err);}

user.password = hash;

console.log(user);

console.log("password: " +user.password);

next();

})

})

//调到下一个流程

//next(); //注释掉这个next()

})


1 回复 有任何疑惑可以回复我~
#1

慕仙4324424

没用的
2018-02-05 回复 有任何疑惑可以回复我~
exports.signin = function(req, res){
    var _user = req.body.user,
        name  = _user.name,
        pass  = _user.password;

    User.findOne({name: name}, function(err, user){
        if (err) {
            console.log("查找用户名错误:" + err);
        }
        if (!user) {
            console.log("用户名不存在");
            return res.redirect('/signup');
        }
        user.comparePassword(pass, function(err, isMatch){
            if (err) {
                console.log("用户密码匹配错误:" + err);
            }
            if (isMatch) {
                console.log("用户登陆成功!");
                req.session.user = user;
                return res.redirect('/');
            }else{
                return res.redirect('/signup');
                console.log("密码错误!");
            }
        })
    })
}

这是我的代码。项目正常。

node -v  ====>> 4.4.4

express -V ====>> 4.13.1

0 回复 有任何疑惑可以回复我~
#1

小小阿米达 提问者

我出问题的地方是数据存储的时候,而不是数据查找的时候
2016-05-23 回复 有任何疑惑可以回复我~
#2

calmound 回复 小小阿米达 提问者

你解决了么,我现在也遇到这个问题了
2016-07-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
node建站攻略(二期)——网站升级
  • 参与学习       51940    人
  • 解答问题       408    个

帮助你深入前后端开发留下的迷惑,为进一步自学打下基础

进入课程

save的时候已经加密了,可是在数据库查表的时候还是加密之前的?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信