DevToolPal
UK

Генератор і перевірка хешів bcrypt

Хешує пароль bcrypt із вибраною вартістю або перевіряє, чи відповідає пароль хешу bcrypt.

Працює локально, нічого не завантажується на сервер

Параметри

Режим

Пароль

Результат

Тут з’явиться результат

Що робить інструмент

bcrypt — функція хешування паролів, навмисно зроблена повільною. На відміну від MD5 чи SHA-256, які обчислюються мільярди разів на секунду, bcrypt має налаштовувану вартість, що робить кожну спробу дорогою для зловмисника, який викрав базу даних. Поряд з Argon2 і scrypt це досі один із найпоширеніших способів зберігати паролі.

Інструмент уміє дві речі:

  • Хешувати: перетворити пароль на хеш bcrypt із вибраною вартістю та префіксом версії.
  • Перевірити: з’ясувати, чи відповідає пароль наявному хешу bcrypt, наприклад із вашої бази даних або seed-файлу фреймворку.

Як користуватися

  1. Введіть Пароль або натисніть Приклад.
  2. У режимі Хешувати виберіть Вартість і Версію. Хеш з’являється одразу; натисніть Нова сіль, щоб отримати інший.
  3. У режимі Перевірити вставте Хеш bcrypt для перевірки. Результат покаже, чи збігається пароль.

Як читати хеш bcrypt

Хеш на кшталт $2b$10$./3kakECWB0QfIgYzIqciuv449HNnwGbgExtJQQwQ1MofonthOdoK складається з чотирьох частин: версії 2b, вартості 10 (2¹⁰ раундів підготовки ключа), солі з 22 символів і контрольної суми з 31 символу. Усе, що серверу знадобиться для подальшої перевірки пароля, міститься в цьому одному рядку, тому зберігати треба лише хеш.

Обмеження

bcrypt читає лише перші 72 байти пароля. Довші паролі або паролі з великою кількістю не-ASCII символів (кожен займає 2–4 байти в UTF-8) мовчки обрізаються. Інструмент попередить, якщо це сталося. Якщо потрібно приймати дуже довгі парольні фрази, спершу хешуйте їх або розгляньте Argon2id.

Часті запитання

› Чому для того самого пароля щоразу виходить інший хеш?

Кожен хеш використовує нову випадкову сіль довжиною 16 байт, яка зберігається в самому хеші. Це навмисно: однакові паролі не дають однакових хешів. Щоб перевірити пароль, використовуйте режим «Перевірити», а не порівнюйте рядки хешів.

› Яку вартість вибрати?

Виберіть найвищу вартість, яку сервер витримує під час кожного входу, — нині зазвичай 10–12. Кожен крок подвоює роботу. Виміряйте на робочому обладнанні; поширена ціль — 100–300 мс на хеш.

› Чим відрізняються $2a$, $2b$ і $2y$?

Це той самий алгоритм. $2b$ — поточний префікс OpenBSD, $2y$ пише password_hash у PHP, $2a$ — старіший. Більшість бібліотек приймають усі три, тож виберіть той, який очікує ваша система.

› Чи надсилається мій пароль кудись?

Ні. Хешування й перевірка виконуються у браузері. Пароль і хеш, що перевіряється, зберігаються лише в пам’яті цієї сторінки: вони не зберігаються і не додаються до посилань для поширення.