首页 > 解决方案 > 如何使用 bcrypt 比较功能

问题描述

我在 b crypt 中的比较功能有问题,我有一个盐密码我无法将密码与数据库中的加密密码进行比较这是我的代码...

router.post('/login', (req, res) => {
let userName = req.body.userName;
let password = req.body.password;

connection.query(
SELECT_ALL_USERS_QUERY + ' WHERE userName=?',
[userName],
(err, results, fields) => {
  if (results[0].password) {
    bcrypt.compare(password, results[0].password, (err, result) => {
      console.log(password);
      console.log(results[0].password);
      if (result) {
        res.send();
      } else {
        return res.status(400).send();
      }
    });
  }
}
);
});

router.post('/add', (req, res) => {
const {
firstName = req.body.firstName,
lastName = req.body.lastName,
userName = req.body.userName,
password = req.body.password,
email = req.body.email
} = req.query;
const salt = 16;

bcrypt.hash(password, salt, (err, hashPass) => {
if (err) throw err;
const INSERT_USERS_QUERY =
  'INSERT INTO users (' +
  'firstName, lastName, userName, password, email) values(' +
  `'${firstName}','${lastName}','${userName}','${hashPass}','${email}')`;

connection.query(INSERT_USERS_QUERY, (err, results) => {
  if (err) {
    return res.send(err);
  } else {
    return res.send('Successfuly added user');
  }
});
});
});

谁能帮我..

标签: javascriptbcrypt

解决方案


推荐阅读