onlinetools.dev

Bcrypt: хеш и проверка

Хешируйте пароли bcrypt и сверяйте хеши с открытым текстом

Работает локально
loading…
Об этом инструменте

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

Bcrypt остаётся достойным выбором для хранения паролей, потому что он намеренно медленный и солится для каждого пароля: фактор стоимости удваивает работу с каждым шагом, так что стоимость 12 означает 4096 итераций инициализации базового шифра. Замер времени показывает, сколько занимает выбранная стоимость, делая компромисс между безопасностью и задержкой осязаемым.

Проверка — более частая повседневная нужда: подтвердить, что хэш в базе данных соответствует известному паролю, не поднимая код приложения. Вставьте оба — получите да или нет.

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

Какой фактор стоимости использовать в продакшене?
Классический совет: настолько высокий, насколько позволяет ваш бюджет задержки входа, — сегодня обычно 10–13. Ориентируйтесь на 100–300 мс на хэш на продакшен-оборудовании. JavaScript в браузере медленнее нативного кода, так что показанное здесь время — верхняя граница для ваших серверов.
Почему один и тот же пароль каждый раз даёт разный хэш?
Для каждого хэша генерируется случайная 16-байтовая соль, которая хранится внутри самой строки хэша. Так и задумано — одинаковые пароли получают разные хэши, что обесценивает заранее вычисленные радужные таблицы. Проверка считывает соль обратно из хэша — поэтому сравнение и работает.
Что означают части bcrypt-хэша?
$2b$12$ + 53 символа: 2b — версия алгоритма, 12 — стоимость (2^12 итераций), следующие 22 символа — соль, финальный 31 — дайджест, всё в собственном base64-алфавите bcrypt. Инспектор под инструментом разбирает так любой хэш.
Всё ещё ли bcrypt рекомендуется вместо Argon2?
Argon2id — сегодняшний первый выбор для новых систем (устойчивость к перебору на GPU за счёт требований к памяти). Bcrypt остаётся приемлемым и вездесущим — практический совет: не мигрируйте работающее bcrypt-хранилище в панике, но для новых проектов выбирайте Argon2id. Оба на порядки лучше быстрых хэшей вроде SHA-256.
Похожие инструменты