Напомним, что этот проект строится на следующем стартовом проекте Glitch или клонируется из GitHub . Поскольку хеширование рассчитано на интенсивность вычислений, рекомендуется делать это асинхронно на вашем сервере, чтобы избежать блокировки входящих соединений, пока вы hash. Все, что вам нужно сделать для хэша, асинхронный пароль - это вызов bcrypt.hash(myPlaintextPassword, saltRounds, (err, hash) => { /*Store hash in your db*/ });
Добавьте эту хеширующую функцию на свой сервер (мы уже определили переменные, используемые в этой функции для вас) и запишите ее на консоль, чтобы вы ее увидели! На этом этапе вы обычно сохраняете хэш в своей базе данных. Теперь, когда вам нужно выяснить, являются ли новые данные теми же данными, что и хеш, вы просто используете функцию сравнения bcrypt.compare(myPlaintextPassword, hash, (err, res) => { /*res == true or false*/ });
, Добавьте это в свою существующую хеш-функцию (поскольку вам нужно дождаться завершения хеша до вызова функции сравнения) после того, как вы зарегистрируете завершенный хэш и запишите «res» на консоль в сравнении. Вы должны увидеть в консоли хэш, тогда напечатано «true»! Если вы измените «myPlaintextPassword» в функции сравнения на «someOtherPlaintextPassword», тогда он должен сказать false. bcrypt.hash ('passw0rd!', 13, (err, hash) => {
console.log (хэш); //$2a$12$Y.PHPE15wR25qrrtgGkiYe2sXo98cjuMCG1YwSI5rJW1DSJp0gEYS
bcrypt.compare ('passw0rd!', hash, (err, res) => {
console.log (RES); //правда
});
});
Представьте свою страницу, когда вы думаете, что у вас все в порядке.
## Instructions