§

Генератор Bcrypt

§

Створити хеш Bcrypt

10 (1,024 rounds)

Bcrypt є основним методом хешування паролів у веброзробці США з моменту його дебюту в 1999 році авторства Провоса та Мазьєра. NIST SP 800-63B рекомендує використовувати енергонезалежне хешування для зберігання паролів, а OWASP наводить bcrypt як кращий варіант поряд із Argon2id. Rails використовує bcrypt через has_secure_password, Django підтримує його як плагінний бекенд, а розробники Node.js обирають bcryptjs. Коефіцієнт вартості визначає, скільки часу займає створення одного хеша — подвоєння вартості подвоює обсяг роботи. Більшість застосунків використовують вартість 10 (1024 раунди) як базову, тоді як фінансові або адміністративні системи часто підіймають до 12 (4096 раундів). Цей інструмент повністю працює у браузері за допомогою JavaScript, тому ваші паролі ніколи не залишають ваш пристрій.

Що таке bcrypt?

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

Як працює bcrypt?

Алгоритм bcrypt повністю виконується у вашому браузері. Ось що відбувається крок за кроком:

  1. Ваш пароль кодується як байти UTF-8 і подається в розклад ключів bcrypt, який ініціалізує 4184-байтовий масив P-array та S-бокси шифру Blowfish, використовуючи пароль і сіль.
  2. Генерується випадкова 128-бітна сіль. Сіль змішується в розклад ключів, тому кожна унікальна сіль дає зовсім інший хеш навіть для того самого пароля.
  3. Розклад ключів виконується протягом 2^cost раундів (наприклад, 2^10 = 1024 ітерації при вартості 10). Кожна ітерація повторно шифрує записи солі та P-масиву, що сповільнює обчислення зі збільшенням вартості.
  4. Кінцевий результат — рядок із 60 символів у форматі $2b$<cost>$<salt><hash>, де вартість доповнена нулями (наприклад, 10), сіль — 22 символи Base64, а хеш — 31 символ Base64.
  5. Для перевірки той самий алгоритм виконується знову з кандидатом пароля та сіллю, взятою зі збереженого хеша. Якщо отриманий хеш збігається зі збереженим, пароль правильний.

Який коефіцієнт вартості використовувати?

Коефіцієнт вартості — це логарифм кількості ітерацій: вартість 10 означає 2^10 = 1024 раунди, вартість 12 — 4096 раундів. Обирайте залежно від ваших потреб у безпеці та апаратного забезпечення:

  • Вартість 4–6 (16–64 раунди) — лише для розробки та тестування. Занадто швидко для використання в продакшені; забезпечує мінімальний захист.
  • Вартість 8 (256 раундів) — мінімум для некритичних застосунків. Близько 6 мс на сучасному обладнанні.
  • Вартість 10 (1024 раунди) — поточний рекомендований базовий рівень. Займає близько 25 мс. Підходить для більшості вебзастосунків.
  • Вартість 12 (4096 раундів) — рекомендовано для адмінпорталів, фінансових систем і застосунків із високими вимогами до безпеки. Займає близько 100 мс.
  • Вартість 14 (16384 раунди) — високий рівень безпеки. Займає близько 400 мс. Використовуйте для головних паролів, ключів шифрування або коли затримка входу прийнятна.

Чому варто використовувати цей генератор bcrypt?

  • Ваша конфіденційність захищена — кожен пароль хешується локально у вашому браузері, і жодні дані ніколи не залишають ваш пристрій.
  • Ви отримуєте обидва режими поруч: створюйте нові хеші або перевіряйте наявні без переходу між сторінками.
  • Коефіцієнт вартості регулюється від 4 (швидко) до 15 (дуже повільно), тож ви можете налаштувати його під потреби безпеки вашого застосунку.
  • Хеші використовують стандартний формат $2b$, який працює з усіма основними мовами та фреймворками.

Які типові застосування bcrypt?

Bcrypt широко використовується для зберігання та перевірки паролів у галузі:

  • Автентифікація вебзастосунків — зберігання хешів паролів користувачів у базах даних, щоб паролі у відкритому вигляді ніколи не зберігалися.
  • Хешування ключів API — хешування секретів API перед зберіганням, щоб витік бази даних не розкривав дійсні облікові дані.
  • Аудит міграції — перевірка того, що хеші паролів зі старої системи все ще автентифікують користувачів після оновлення рівня автентифікації.

Як виглядає хеш bcrypt?

Хешування пароля hunter2 з коефіцієнтом вартості 10 дає рядок на кшталт $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy. Формат розшифровується так: $2b$ (версія алгоритму), 10 (коефіцієнт вартості), $, потім 22 символи солі та 31 символ хеша, усі закодовані в Base64. Кожен запуск з одним і тим самим паролем дає різний хеш через випадкову сіль.

Цей генератор bcrypt повністю працює у вашому браузері за допомогою чистої JavaScript-реалізації. Хешуйте паролі перед зберіганням, перевіряйте наявні хеші та налаштовуйте коефіцієнт вартості відповідно до ваших вимог безпеки — і все це без надсилання жодного байта на сервер.