У меня проблема со сравнением метода bcrypt. Этот метод не может правильно сравнить пароли. Пожалуйста, устраните меня от этой проблемы. Проблема с неработающим методом сравнения. У меня проблема со сравнением метода bcrypt. Этот метод не может правильно сравнить пароли. Пожалуйста, устраните меня от этой проблемы. Проблема с неработающим методом сравнения.
app.post('/upload', (req, res) => {
// hash and save a password
const pass = bcrypt.hashSync(req.body.password);
const username = req.body.username;
console.info(bcrypt.compareSync(req.body.password, pass));
const sql = "INSERT INTO data ( password, username ) values (?,?)";
db.query(sql, [pass, username], (err, rows, fields) => {
if (!err){
res.send({
key: rows
});
}
else {
console.info(err);
}
});
})
app.post('/show', (req, res) => {
const username = req.body.username;
const password = req.body.password;
db.query("SELECT * FROM data WHERE username = ?",[username], function(err, results){
if (err) {
// console.info("error ocurred",error);
res.send({
"code":400,
"failed":"err ocurred"
})
}else{
if (results.length >0){
// console.info(bcrypt.compareSync(password, results[0].password));
if (bcrypt.compareSync(password, results[0].password)){
res.send({
"code":200,
"success":"login sucessfull"
});
}
else{
res.send({
"code":204,
"success":"Email and password does not match"
});
}
}else{
res.send({
"code":204,
"success":"Email does not exits"
});
console.info(results.length);
}
}
})
})
Если вы используете что-то вроде Продолжить, вы можете использовать async / await, чтобы действительно упростить этот код. С обратными вызовами может быть много хлопот.
Можете привести пример, что такое поле сохраненного пароля для пароля test?






Отступ здесь действительно нерегулярный, что затрудняет восприятие кода.