Недействительный хэш BCrypt. происходит ошибка

У меня проблема со сравнением метода 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);
                          }
                  }

          })

        })

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

tadman 01.01.2019 23:41

Если вы используете что-то вроде Продолжить, вы можете использовать async / await, чтобы действительно упростить этот код. С обратными вызовами может быть много хлопот.

tadman 01.01.2019 23:43

Можете привести пример, что такое поле сохраненного пароля для пароля test?

tadman 01.01.2019 23:44
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
3
337
0

Другие вопросы по теме