Сравнение bcrypt занимает больше минуты - PullRequest
1 голос
/ 11 января 2020

Я только что ввел аутентификацию пользователя для моего REST API и использовал bcrypt для хэширования паролей. При создании пользователя я делаю

const passwordSalt: string = await genSalt(12);
const passwordHash: string = await hash('pAsSwOrD', passwordSalt);

и сохраняю ha sh в базе данных. Позже, когда пользователь входит в систему, я сравниваю предоставленный пароль с паролем базы данных ha sh.

const passwordMatches: boolean = await compare('wRoNg pAsSwOrD', user.passwordHash);

Я знаю, что функция сравнения должна быть медленной, чтобы противостоять атакам методом перебора. Но функция сравнения занимает больше минуты. Пользователи не будут ждать, пока это завершится. Так что-то не так с моим кодом?

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

...