小编cmc*_*mcd的帖子

节点bcrypt的比较总是返回false

我很困难,试图让我的密码成功地与使用节点的bcrypt进行比较.也许我错过了一些东西,但在创建帐户时,我在注册方法中执行以下操作(某些代码缩写):

bcrypt.genSalt(10, function(err, salt) {
               if(err) {

               }
               bcrypt.hash(user.Password, salt, function(err, hash) {
                           console.log('hashing and saving');
                           db.query(db insert code, function (error, rows, fields) {
                                    if(error) {
                                    console.log(error);
                                    res.setHeader('500', { 'Content-Type': 'x-application/json'});
                                    res.send({UserId: 0, ErrorMessage: 'Something terrible happened.'});
                                    } else {
                                    console.log('User created : ' + rows.insertId);
                                    res.setHeader('200', { 'Content-Type': 'x-application/json'});
                                    res.send({UserId: rows.insertId});
                                    }
                                    });
                           });
               });

return next();
Run Code Online (Sandbox Code Playgroud)

一切正常.我的数据库有加密密码.但是当用户登录时,我无法从bcrypt.compare获得成功结果:

db.query(get account code, function(error, rows, fields) {
         if(rows.length == 1) {
           bcrypt.compare(request.params.password, rows[0].Password, function(err,res) {
              if(err) { console.log(err.toString()); }
              if(res == …
Run Code Online (Sandbox Code Playgroud)

javascript bcrypt node.js

8
推荐指数
5
解决办法
2万
查看次数

标签 统计

bcrypt ×1

javascript ×1

node.js ×1