bcrypt Генератор хешей

Бесплатный онлайн-инструмент bcrypt Генератор хешей. 100% локальная обработка — ваши данные никогда не покидают устройство.

General
Password Hashing / KDF
Specialized
Deprecated
Вывод

Результат будет отображен здесь...

Ввод Вычислить хеш

Usage Guide

О bcrypt

bcrypt — функция хэширования паролей, разработанная Нильсом Провосом и Дэвидом Мазьером в 1999 году на основе шифра Blowfish. Она специально создана для работы медленно и с высокими вычислительными затратами, делая атаки перебором нецелесообразными. bcrypt является одним из наиболее широко используемых алгоритмов хэширования паролей в мире и нативно поддерживается такими фреймворками, как Rails, Django, Laravel и Node.js (bcryptjs). Каждый хэш bcrypt содержит встроенную случайную соль и коэффициент стоимости, поэтому хэш полностью самодостаточен для проверки.

Проверенный стандарт: bcrypt используется в продакшене более 25 лет и остаётся надёжным выбором для хранения паролей. OWASP рекомендует минимальный коэффициент стоимости 10, с cost=12 в качестве базового уровня 2023 года. Для новых проектов предпочтителен Argon2id; bcrypt остаётся полностью надёжным для существующих систем.

Шаги использования

Инструмент поддерживает две операции: хэширование пароля (Зашифровать) и проверка пароля по хэшу (Расшифровать):

1. Режим хэша (Зашифровать)Выберите режим 'Зашифровать', введите пароль в поле ввода и нажмите 'Вычислить хэш'
2. Получить хэшВывод — строка bcrypt из 60 символов, например $2b$12$... — скопируйте и сохраните в базе данных
3. Режим проверки (Расшифровать)Выберите режим 'Расшифровать', введите пароль|$2b$12$... (разделённые вертикальной чертой) в поле ввода и нажмите 'Расшифровать'
4. Проверить результатИнструмент возвращает '✓ Password matches', если пароль верен, или сообщение об ошибке, если не совпадает
Защита конфиденциальности: Все вычисления bcrypt выполняются полностью в вашем браузере с использованием WebAssembly. Никакие данные никогда не отправляются на сервер — полностью офлайн-обработка.

Особенности алгоритма

bcrypt обладает несколькими свойствами, делающими его подходящим для хранения паролей:

Намеренно медленныйРасписание ключей Blowfish дорого вычисляется, что делает каждую попытку хэширования медленной, а атаки перебором — затратными
Встроенная сольКаждый хэш содержит уникальную случайную 128-битную соль, предотвращая атаки с радужными таблицами и по одинаковым паролям
Настраиваемый коэффициент стоимостиКоэффициент стоимости (4–31) управляет нагрузкой: каждое увеличение удваивает время вычисления, позволяя идти в ногу с улучшениями аппаратного обеспечения
Устойчивость к GPUПаттерны доступа к памяти в расписании ключей Blowfish ограничивают параллелизм GPU по сравнению с более простыми хэш-функциями, такими как MD5 или SHA-256
Самодостаточный хэш60-символьный вывод ($2b$12$[22-симв. соль][31-симв. хэш]) включает все параметры для проверки — никаких дополнительных метаданных не требуется
Ограничение по сравнению с Argon2: bcrypt использует лишь ~4 КБ памяти во время вычислений, что делает его значительно менее устойчивым к атакам с использованием ASIC и специального оборудования, чем Argon2, требующий мегабайты памяти. Для новых проектов предпочтителен Argon2id. bcrypt по-прежнему подходит для поддержки существующих систем.

Руководство по выбору коэффициента стоимости

Правильный коэффициент стоимости обеспечивает баланс между безопасностью и производительностью сервера:

Стоимость 10Минимум OWASP (2023). ~100 мс на современном сервере. Приемлемо для сайтов с низким трафиком или в условиях ограниченных ресурсов
Стоимость 12Базовая рекомендация OWASP 2023. ~400 мс. Хороший баланс безопасности и производительности для большинства веб-приложений
Стоимость 14~1,5 с. Высокая безопасность для чувствительных приложений (финансы, здравоохранение). Может потребовать асинхронной обработки во избежание блокировки UI
Стоимость 31 (макс)Теоретический максимум — вычисление занимает часы. Никогда не используйте в продакшене; только для офлайн-архивирования или демонстрации
Совет по настройке: Выполните бенчмарк на своём производственном оборудовании и ориентируйтесь на 200–500 мс на хэш. По мере улучшения CPU со временем увеличивайте коэффициент стоимости для поддержания того же реального времени. Новые хэши могут использовать обновлённый коэффициент; существующие хэши остаются проверяемыми, поскольку коэффициент хранится в самой строке хэша.

FAQ

Q: Каков формат вывода bcrypt?

A: Хэш bcrypt всегда состоит ровно из 60 символов и выглядит так: $2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/lewdBdXyXu2zXpOme.
Разбивка:
$2b$: Идентификатор версии bcrypt.
12$: Коэффициент стоимости.
Следующие 22 символа: случайная 128-битная соль в кодировке Base64.
Последние 31 символ: производный 184-битный хэш в кодировке Base64.
Ключевое свойство: Все параметры встроены в строку — для последующей проверки пароля не требуется дополнительного хранилища.

Q: Как bcrypt сравнивается с Argon2?

A: bcrypt (1999): сложный вычислительно, ~4 КБ памяти, умеренная устойчивость к GPU, универсальная поддержка. Argon2 (2015): сложный по памяти (настраиваемый, по умолчанию 64 МБ), значительно более высокая устойчивость к ASIC/GPU, предпочтителен OWASP и NIST. Когда использовать bcrypt: При поддержке существующей системы или когда Argon2 ещё недоступен. Когда использовать Argon2: Все новые проекты.

Q: Почему bcrypt нельзя использовать для хэширования файлов или больших данных?

A: bcrypt имеет ограничение ввода в 72 байта. Символы после 72-го байта молча игнорируются. Для целостности файлов используйте SHA-256 или SHA-512. bcrypt предназначен специально только для коротких паролей, вводимых вручную.

Q: Безопасен ли bcrypt в случае компрометации базы данных?

A: Да — хэш bcrypt является односторонним. При cost=12 одно ядро CPU может предпринять примерно 2–5 попыток хэширования в секунду, что делает исчерпывающие атаки на надёжные пароли практически невозможными. Однако bcrypt не защищает слабые пароли — всегда применяйте политику минимальной надёжности пароля.

Q: Какой коэффициент стоимости использовать в продакшене?

A: Рекомендация OWASP 2023: cost=12 в качестве базового уровня. Выполните бенчмарк на своём производственном сервере и выберите наибольший коэффициент стоимости, при котором хэширование занимает менее 500 мс. Никогда не снижайте ниже cost=10. Пересматривайте каждые 2–3 года по мере улучшения оборудования.

Q: Можно ли использовать bcrypt для хранения API-ключей или токенов?

A: Да, с оговорками. bcrypt подходит для хэширования API-ключей и токенов длиной менее 72 байт и редко проверяемых. Для высокочастотной проверки используйте вместо этого быстрый подход SHA-256 + соль.

Use Cases

Рекомендуется: Хранение паролей пользователей

Это основной сценарий использования bcrypt. Хэшируйте с bcrypt (cost ≥ 12) и сохраняйте 60-символьную строку. При входе выполняйте проверку bcrypt. bcrypt поддерживается «из коробки» в Rails (has_secure_password), Django, Laravel и Node.js (bcryptjs).

Recommended Configuration:
  • ✅ bcrypt (cost ≥ 12, широко поддерживается — рекомендуется для существующих систем)
  • Argon2id (предпочтителен для новых проектов)
  • PBKDF2-SHA256 (≥ 600k итераций, среды с соответствием FIPS)
  • ❌ Не использовать SHA-256, MD5 или другие хэши общего назначения для паролей
Рекомендуется: Совместимость с устаревшими системами

Для систем, хранящих миллионы хэшей bcrypt, продолжайте использовать bcrypt и повышайте коэффициент стоимости по мере улучшения оборудования. Новые пользователи могут прозрачно перейти на Argon2id, тогда как хэши bcrypt (идентифицируемые по префиксу $2b$) продолжат корректно проверяться.

Recommended Configuration:
  • ✅ Сохранять bcrypt для существующих хэшей — принудительная миграция не требуется
  • ✅ Постепенно внедрять Argon2id для новых и обновляемых паролей
  • ✅ Использовать определение префикса хэша ($2b$ vs $argon2id$) для маршрутизации проверки
  • 💡 Регистрировать используемый алгоритм для каждого пользователя для отслеживания прогресса миграции
Допустимо: Хэширование API-ключей

bcrypt может хэшировать API-ключи перед сохранением в базе данных. Для проверки на каждый запрос в масштабе предпочитайте быструю схему HMAC-SHA256 или хэш SHA-256 ключа.

Recommended Configuration:
  • ✅ bcrypt (cost=10–12, подходит для низкочастотной проверки)
  • SHA-256 + соль (быстрее, подходит для ключей с высокой энтропией)
  • ✅ HMAC-SHA256 (для подписи токенов на каждый запрос)
  • 💡 Использовать префикс хэша (первые 8 символов) как индекс базы данных для быстрого поиска
Не рекомендуется: Шифрование файлов или данных

bcrypt — это односторонняя хэш-функция, не алгоритм шифрования. Он не может шифровать файлы. Кроме того, ограничение ввода в 72 байта делает его непригодным для хэширования содержимого файлов. Для шифрования файлов используйте симметричный шифр (например, AES-256-GCM).

Recommended Configuration:
  • ❌ Не использовать bcrypt для шифрования файлов (необратим)
  • ❌ Не хэшировать данные длиннее 72 байт с помощью bcrypt
  • ✅ Использовать AES-256-GCM для симметричного шифрования файлов
  • ✅ Использовать Argon2id или scrypt для формирования ключей на основе пароля
Не рекомендуется: Хэширование данных общего назначения

bcrypt слишком медленный для проверки целостности данных общего назначения. Используйте SHA-256 или SHA-512 для проверки целостности.

Recommended Configuration:
  • ❌ Не использовать bcrypt для проверки целостности данных или хэширования контента
  • SHA-256 (хэширование целостности общего назначения)
  • ✅ BLAKE2b (высокоскоростное криптографическое хэширование)
  • ✅ SHA-3 / SHA-512 (более высокий запас безопасности)
Не рекомендуется: Высокочастотная аутентификация

bcrypt спроектирован для медленной работы (~200–500 мс при cost=12). Его запуск при каждом API-запросе перегрузит ваш сервер. Используйте bcrypt только один раз при входе — затем выдавайте подписанный JWT для последующих запросов.

Recommended Configuration:
  • ❌ Не запускать bcrypt при каждом API-запросе
  • ✅ JWT + HMAC-SHA256 (stateless, быстрая аутентификация на каждый запрос)
  • ✅ Session + Cookie (традиционное управление сессиями на стороне сервера)
  • ✅ OAuth 2.0 / OpenID Connect (федеративная идентификация, на основе токенов)

Сводка лучших практик

  • Использовать bcrypt (cost ≥ 12) для хранения паролей пользователей в существующих системах. Для новых проектов предпочитать Argon2id.
  • Никогда не использовать bcrypt для хэширования данных общего назначения, шифрования файлов или данных объёмом более 72 байт.
  • Выполнять бенчмарк на производственном оборудовании и стремиться к 200–500 мс на хэш. Повышать коэффициент стоимости каждые 2–3 года.
  • Для сценариев высокочастотной аутентификации использовать bcrypt только при входе, затем выдавать JWT или сессионные токены.
  • Постепенная миграция с bcrypt на Argon2id: сохранять bcrypt для существующих хэшей, использовать Argon2id для новых паролей.

Обсуждение и отзывы

0 комментариев
Я