Песочница bcrypt

Хешируйте пароли bcrypt со стоимостью 4–16, используйте свою 22-символьную соль, смотрите разбор хеша на версию, cost, соль и хеш и проверяйте хеши.

Использовано 0 из 72 байт

2^cost = 1 024 раундов

Оставьте пустым для случайной соли.

bcrypt (Provos и Mazières, 1999) — адаптивный хеш: каждое +1 к стоимости удваивает объём работы. Выберите максимальную стоимость, при которой вход на сервере занимает не больше ~250 мс (10 и выше). Вывод использует префикс $2b$; хеши $2a$ и $2y$ проверяются так же.

Проверить пароль по хешу

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Песочница bcrypt?

Экспериментируйте с bcrypt: выбирайте параметр cost, вводите конкретную соль или используйте случайную и смотрите итоговый хеш, разбитый на версию, cost, соль и хеш, а также время вычисления. Проверка сверяет пароли с хешами $2a$, $2b$ и $2y$.

Как пользоваться Песочница bcrypt

  1. Введите Пароль; подсказка покажет, сколько из 72 байт bcrypt используется.
  2. Задайте Стоимость (cost) (4–16) и при желании 22-символьную Соль.
  3. Нажмите Хешировать, чтобы увидеть закодированный хеш, его части и затраченное время.
  4. Вставьте любой хеш bcrypt в панель проверки, чтобы проверить пароль.

Пример

Ввод
Password password, cost 4, salt abcdefghijklmnopqrstuu
Вывод
$2b$04$abcdefghijklmnopqrstuughE8Ev8uGFaUgY2cNEySvxngrb/Jzdm

Совпадает с результатом pyca/bcrypt для того же пароля и соли.

Когда использовать Песочница bcrypt

Используйте, чтобы воспроизвести хеш bcrypt с известной солью, подобрать cost по замерам времени или проверить хеш из базы данных при отладке. Для новых разработок предпочтителен Argon2id.

Как работает Песочница bcrypt

bcrypt (Provos и Mazières, 1999) выполняет дорогую настройку ключа EksBlowfish 2^cost раз, затем шифрует «OrpheanBeholderScryDoubt» 64 раза. 16-байтовая соль и 23-байтовый результат записываются в собственном алфавите Base64 bcrypt (./A–Za–z0–9). Вычисление использует hash-wasm (WebAssembly). Пароли длиннее 72 байт UTF-8 отклоняются, потому что bcrypt игнорирует всё после 72-го байта.

Распространенные Случаи Использования

  • Замер времени работы для каждого значения cost
  • Воспроизведение тестового вектора с фиксированной солью
  • Проверка того, что PHP-хеш $2y$ проходит верификацию
  • Обучение структуре хешей bcrypt

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

Какую стоимость (cost) использовать?

Не менее 10 (OWASP); выбирайте наибольшее значение, при котором хеширование на вашем сервере занимает не более примерно 250 мс. Каждый +1 удваивает время.

Чем отличаются $2a$, $2b$ и $2y$?

Они отмечают исправления ошибок старых реализаций. Для паролей до 72 байт они дают один и тот же хеш, и все три здесь проходят проверку.

Почему мой длинный пароль отклонён?

bcrypt использует только первые 72 байта. Молчаливое усечение привело бы к коллизиям разных паролей, поэтому инструмент отказывает.

Другие категории