Как устроена проверка

При создании записи библиотека генерирует соль и выполняет вычисление с заданной стоимостью. В сохраненной строке обычно содержатся идентификатор варианта, параметр cost, соль и хеш. При входе пароль проверяется через библиотечную функцию с этой строкой; приложение не должно сравнивать открытый пароль с шифротекстом.

Повторные вычисления делают проверку намеренно затратнее для массового подбора. Но cost нельзя выбрать один раз навсегда: он зависит от окружения и требований приложения. Сверяйтесь с актуальным руководством используемой библиотеки и тестируйте нагрузку на том же классе оборудования.

Проверьте ограничения реализации

В руководстве OpenBSD для bcrypt описана максимальная длина входа 72 байта. Это ограничение конкретной реализации и важная причина изучить поведение библиотеки перед внедрением; разные обертки могут иначе обрабатывать длинный ввод. Не обрезайте пароль незаметно и не меняйте формат хешей без плана миграции.

Документация OpenBSD описывает 128-битную соль для bcrypt-формата. Проверяйте детали библиотеки, которую использует приложение.

Проверьте ввод. Если старые хеши были созданы с иной обработкой длинных строк, миграция может изменить результат проверки; сначала испытайте ее на копии базы.

OpenBSD отдельно документирует bcrypt_pbkdf для получения ключевого материала из пароля и соли. Это не та же операция, что обычное хранение хеша для проверки пользовательского пароля. Не заменяйте одной функцией другую без понимания назначения.

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

bcrypt и шифрование

Хеширование пароля не должно позволять восстановить исходное значение. Шифрование, напротив, рассчитано на расшифрование с ключом. Для паролей используйте поддерживаемую password-hashing библиотеку, добавьте ограничение попыток входа и не записывайте пароль в журналы.

Для сравнения смотрите Argon2 и AES. Использованы официальные руководства OpenBSD и словарь CISA, проверенные 8 октября 2026 года; пароли и системные библиотеки не проверялись.