как использовать функцию сравнения bcrypt - PullRequest
0 голосов
/ 14 февраля 2020

У меня проблема с функцией сравнения в 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');
  }
});
});
});

Может ли кто-нибудь мне помочь ..

...