В вашем примере кода не показано, куда вы звоните bcrypt.hash
и храните пароль, поэтому трудно сказать, в чем проблема.
Если вы отлаживаете это локально, вы должны знать, чтопароль на самом деле был;попробуйте взять хеш пароля из базы данных и запустить bcrypt.compare('the real password', 'password hash from db')
в консоли узла и посмотреть, что он возвращает.
Проблема почти наверняка:
1) Вы неправильно сохраняете хеш пароля.
2) Вы сравниваете хэш пароля с неправильной вещью.
3) Он работает нормально, и вы просто не вводите правильный пароль.
Трюкбудет выяснить, какой из них.