Bcrypt — безопасное хеширование паролей | Глоссарий FREEHOSTING

Bcrypt

Bcrypt Password Hash
Bcrypt — bcrypt — криптографический алгоритм хеширования паролей, обеспечивающий защиту от атак методом перебора благодаря адаптивной вычислительной сложности и использованию соли.

Определение простыми словами

Bcrypt — это алгоритм для безопасного хранения паролей. Он преобразует пароль в уникальный хеш с использованием соли — случайной строки, которая помогает защититься от атак с применением радужных таблиц. Особенность bcrypt в возможности замедлять процесс хеширования, что увеличивает устойчивость к перебору паролей.

Такой подход делает bcrypt популярным выбором для защиты учетных данных в системах с высокими требованиями к безопасности.

Сравнение

Алгоритм Преимущества Недостатки
bcrypt Адаптивная сложность, встроенная соль, устойчивость к атаке перебором Медленнее современных алгоритмов на графических процессорах
SHA-256 Высокая скорость, широко используется Отсутствие встроенной соли, уязвимость к перебору и радужным таблицам
Argon2 Высокая безопасность, учитывает использование памяти и процессора Меньшая поддержка в старых системах

Кейсы использования

  • Хранение паролей пользователей в веб-приложениях
  • Защита учетных записей в корпоративных системах
  • Усиление безопасности при многофакторной аутентификации
  • Использование в криптографических протоколах и системах управления доступом

Негативный пример: использование bcrypt для хеширования больших объемов данных вместо паролей, что приводит к излишней нагрузке и замедлению работы.

Технические детали

Алгоритм bcrypt основан на изменённой версии алгоритма Blowfish и включает в себя следующие шаги:

  1. Генерация соли длиной 128 бит (16 байт), которая добавляется к паролю.
  2. Многократное хеширование с увеличением числа итераций (настраиваемый параметр сложности).
  3. Получение выходного хеша длиной 184 бита (23 байта), обычно представлен в формате base64.
$2a$12$eImiTXuWVxfM37uY4JANjQ==  # формат bcrypt, где 12 — количество раундов (cost)

Чем выше параметр cost, тем больше времени требуется для вычисления хеша, что затрудняет перебор паролей. Важно выбирать оптимальный баланс между безопасностью и производительностью.

Подробнее о безопасности, хешировании и соли.

Частые вопросы

Почему bcrypt считается безопаснее простого хеширования?

Bcrypt использует соль и адаптивную сложность, что значительно усложняет перебор паролей и защиту от радужных таблиц.

Как выбрать параметр cost в bcrypt?

Параметр cost выбирается с учётом баланса между безопасностью и производительностью, обычно начиная с 10-12.