Что такое bcrypt?
bcrypt — это алгоритм хеширования паролей, предназначенный для хранения паролей. Он объединяет пароль со случайной солью и повторяет вычислительно затратные операции в зависимости от коэффициента cost, поэтому злоумышленникам требуется больше времени на проверку каждой догадки.
Когда использовать этот инструмент
- Создать bcrypt-хеш для тестовой учетной записи, seed-скрипта или локальной среды разработки.
- Сравнить, как разные значения cost меняют формат вывода и время выполнения.
- Получить готовый к копированию хеш без отправки пароля на сервер.
Как выбрать коэффициент cost
Более высокие значения cost медленнее и обычно безопаснее, но они также замедляют каждую попытку входа в ваше приложение. Значение cost около 10-12 часто используется в интерактивных системах; более высокие значения могут быть разумны для административных или малонагруженных рабочих процессов. Проверяйте выбранный cost на оборудовании того же типа, которое будет выполнять проверку пароля.
О чем помнить
- Каждый созданный хеш использует новую случайную соль, поэтому результат меняется даже при том же пароле и том же cost.
- Храните bcrypt-хеш, а не исходный пароль.
- Используйте bcrypt для паролей, а не для контрольных сумм файлов, подписей или общего хеширования.
- Поддерживайте одинаковое поведение проверки и не раскрывайте, существует ли учетная запись пользователя.