Бесплатный конвертер

Генератор паролей Bcrypt

Генерируйте безопасные bcrypt-хэши паролей мгновенно в браузере. Выберите коэффициент стоимости и хэшируйте на стороне клиента — полная конфиденциальность и бесплатно.

Об этом инструменте

bcrypt — это функция хеширования паролей, разработанная Нильсом Провосом и Дэвидом Мазьером в 1999 году на основе шифра Blowfish. В отличие от хеш-функций общего назначения, таких как SHA-256, bcrypt намеренно медленный — и его можно настроить с помощью параметра стоимости — а это именно то свойство, которое необходимо хэшеру паролей. Более быстрая хеш-функция позволяет злоумышленникам перебирать больше кандидатов в секунду; более медленный ограничивает их.

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

Современные альтернативы существуют. Argon2 выиграл конкурс хеширования паролей в 2015 году и предлагает не только надежность, но и надежность памяти. scrypt предлагает аналогичные свойства. Для новых проектов рекомендуется использовать Argon2id. bcrypt остается приемлемым и широко используемым, особенно в средах, где Argon2 недоступен.

Зачем хешировать пароли с помощью bcrypt

Хранение паролей в виде открытого текста является злоупотреблением служебным положением. Хранить их с помощью быстрого хэша, такого как SHA-256, немногим лучше — современные графические процессоры вычисляют миллиарды хэшей SHA-256 в секунду, что делает атаку методом перебора любого распространенного пароля осуществимой за несколько часов. Намеренная медлительность bcrypt меняет экономику: при коэффициенте стоимости 12 злоумышленник тратит примерно 250 мс на каждый возможный пароль, что делает перебор непрактичным для любого нетривиального пароля.

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

Как использовать

Введите пароль, выберите стоимость, получите хэш.

  1. Введите пароль: Введите пароль для хеширования. Инструмент полностью работает в вашем браузере; пароль никуда не передается.
  2. Выберите фактор стоимости: По умолчанию установлено значение 10, что обеспечивает время хеширования примерно 100 мс на современном оборудовании. Для новых приложений рекомендуется значение 12 (250 мс). Более высокие значения повышают безопасность за счет более медленной проверки.
  3. Генерировать: Хэшер генерирует случайную 16-байтовую соль, запускает генерацию ключа bcrypt и создает хэш в стандартном формате $2b$.
  4. Используйте хеш: Сохраните полный вывод ($2b$cost$saltAndHash) в своей базе данных паролей. Проверка использует ту же библиотеку для сравнения кандидата с сохраненным хешем.

Общие случаи использования

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

bcrypt использует фазу установки ключа модифицированного шифра Blowfish, повторяемую 2 раза. Коэффициент стоимости является логарифмическим: стоимость 12 в два раза медленнее, чем стоимость 11, в четыре раза медленнее, чем стоимость 10. Такое логарифмическое масштабирование позволяет администраторам увеличивать стоимость с течением времени по мере совершенствования оборудования, не перепроектируя систему.

Формат вывода: $version$cost$saltAndHash, где saltAndHash закодирован в формате Base64 с использованием специального алфавита. Обычно это версия $2b$ (современный вариант с исправленной ошибкой переноса) или $2y$ (эквивалент для PHP). Соль имеет размер 16 байт; хэш — 24 байта; вместе они кодируют 53 символа custom-base64.

Максимальная входная длина — 72 байта (ограничение длины ключа Blowfish). Более длинные пароли автоматически усекаются, что является давней особенностью bcrypt. Лучше всего либо ограничить длину пароля до 72 байтов, либо предварительно хешировать его с помощью SHA-256, чтобы нормализовать длину перед bcrypt.

Лучшие практики

Часто задаваемые вопросы

Могу ли я настроить сгенерированный вывод?
Да. Инструмент предоставляет различные параметры настройки, позволяющие адаптировать результат к вашим конкретным потребностям. Настройте параметры перед созданием или выполните повторное создание с другими параметрами.
Можно ли использовать созданный контент бесплатно?
Да. Все, что вы создаете с помощью этого инструмента, принадлежит вам для использования в личных, образовательных или коммерческих целях без каких-либо ограничений или требований об авторстве.
Требуется ли для этого учетная запись?
Нет. Инструмент готов к использованию немедленно, без регистрации, электронной почты и регистрации. Просто откройте страницу и начните генерировать.
Сохраняются ли мои входные данные в тайне?
Да. Вся обработка происходит в вашем браузере. Ваши входные данные и сгенерированные выходные данные никогда не отправляются на внешний сервер.
Стоит ли добавлять свою соль?
Нет. bcrypt автоматически генерирует и сохраняет случайную соль. Добавление собственной соли не является необходимым и может вызвать незначительные ошибки. Используйте генерацию соли по умолчанию в библиотеке.
Пароль отправляется на сервер?
Нет. Хеширование bcrypt происходит в вашем браузере. Пароль никогда не покидает ваше устройство.
Почему существуют варианты $2a$, $2b$, $2y$?
$2a$ — оригинал. $2b$ исправляет ошибку переноса, обнаруженную в 2014 году. $2y$ зависит от PHP и функционально эквивалентен $2b$. Новые системы должны производить хеши стоимостью $2 млрд.
Могу ли я понизить стоимость дорогого хэша до более низкого?
Нет. Хэш включает стоимость как часть вывода, и проверка требует тех же затрат. Чтобы изменить стоимость, повторите хэш при следующем успешном входе в систему.