Хешированный пас, сравните результат - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть база данных postgres с бэкэндом узла.

  let hash = bcrypt.hashSync("mypass", 10);

  try {
    const queryString = `
        SELECT * 
        FROM users where username= 'admin' and password='${hash}'
  `;

Это возвращает 0 строк.

Должен ли я вернуть пароль и затем выполнить сравнение?

 try {
        const queryString = `
            SELECT username, password
            FROM users where username= 'admin'
      `;

       bcrypt.compare(RETURNED PASSWORD, hash, function(err, res) {
          if(res) {
           // Passwords match
          } else {
           // Passwords don't match
          } 
        });

1 Ответ

2 голосов
/ 27 сентября 2019

Да, поскольку алгоритм bcrypt создает разные хэши для одного и того же ввода, поэтому вам нужно вернуть хешированный пароль и затем сравнить его.

...