ESC

Генератор Bcrypt

2^10 = 1 024 итерации (рекомендуемое значение)
Bcrypt-хеш появится здесь...

Информация о Bcrypt

Влияние фактора стоимости

Более высокий фактор стоимости повышает безопасность, но увеличивает время вычисления. Каждое увеличение удваивает время.

Стоимость Итерации Прибл. время
8256~40ms
101,024~100ms
124,096~400ms
1416,384~1.5s
1665,536~6s
Всё хеширование выполняется локально в браузере на чистом JavaScript. Ваш пароль никогда не покидает устройство.

Примеры использования

Хешировать пароль

Сгенерируйте bcrypt-хеш пароля с фактором стоимости 10 по умолчанию. Подходит для большинства приложений.

Проверить пароль

Проверьте, совпадает ли пароль с данным bcrypt-хешем. Полезно для тестирования аутентификации.

Повышенная безопасность

Сгенерируйте хеш с повышенным фактором стоимости (12) для чувствительных приложений.

Возможности

Хеширование Bcrypt

Промышленный стандарт хеширования паролей на основе шифра Blowfish с адаптивным фактором стоимости

Настраиваемая стоимость

Регулируйте фактор стоимости от 4 до 31 для баланса между безопасностью и производительностью

Проверка хеша

Проверяйте любой пароль по его bcrypt-хешу для тестирования аутентификации и валидации хешей

100% на стороне клиента

Чистая JavaScript-реализация bcrypt. Ваш пароль никогда не покидает браузер

Как пользоваться?

1

Введите пароль

Введите или вставьте пароль для хеширования на вкладке «Хеш».

2

Задайте фактор стоимости

Выберите фактор стоимости (по умолчанию 10). Большие значения безопаснее, но медленнее.

3

Генерируйте или проверяйте

Нажмите «Сгенерировать хеш» для создания bcrypt-хеша или перейдите на вкладку «Проверка», чтобы сверить пароль с хешем.

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

Bcrypt — это функция хеширования паролей, разработанная Нилсом Провосом и Дэвидом Мазиерсом в 1999 году. В отличие от универсальных функций хеширования, таких как SHA-256 или MD5, bcrypt был специально создан для паролей. Его ключевые особенности: он автоматически генерирует и внедряет случайную соль (предотвращая атаки с использованием rainbow tables), а также имеет настраиваемый коэффициент стоимости, который намеренно замедляет вычисление каждого хеша — это делает атаки методом перебора вычислительно дорогими. Это рекомендуемый выбор для хранения паролей в большинстве современных веб-приложений.

SHA-256 и MD5 предназначены для работы с высокой скоростью — современная GPU может вычислять миллиарды хешей SHA-256 в секунду. Такая скорость катастрофична для хеширования паролей: злоумышленник может перебирать миллиарды вариантов паролей в секунду. Bcrypt намеренно медленный: одно вычисление хеша занимает миллисекунды при коэффициенте стоимости 10, что ограничивает атакующего несколькими сотнями попыток в секунду даже с мощным оборудованием. Никогда не используйте MD5, SHA-1 или даже SHA-256 напрямую для хеширования паролей — используйте bcrypt, Argon2 или scrypt.

Коэффициент 10 (2^10 = 1,024 итераций) является рекомендуемым минимумом от OWASP для большинства приложений и создает хеш примерно за 100 мс на современном оборудовании. Используйте коэффициент 12 для систем с обработкой конфиденциальных данных, таких как финансовые счета. Каждое увеличение удваивает время вычисления: фактор 12 занимает в 4 раза больше времени, чем фактор 10. Протестируйте на реальном оборудовании вашего сервера и стремитесь к 100-300 мс на хеш — достаточно медленно, чтобы сдерживать атакующих, и достаточно быстро, чтобы не раздражать легитимных пользователей. Никогда не опускайтесь ниже фактора 10 в рабочих условиях.

Bcrypt генерирует криптографически случайную соль длиной 22 символа для каждого хеша и внедряет её в выходную строку. Соль гарантирует, что даже если у двух пользователей одинаковые пароли, они получат разные значения хеша. Это делает бесполезными rainbow tables (заранее вычисленные таблицы соответствий хеш-пароль) и не позволяет злоумышленнику увидеть, что два аккаунта имеют общий пароль. Соль хранится как часть строки хеша ($2b$10$<22-char-salt><31-char-hash>), поэтому её не нужно хранить отдельно.

Нет. Bcrypt (как и все правильные криптографические функции хеширования) является односторонней функцией — обратного преобразования не существует. Единственный способ «найти» пароль из bcrypt-хеша — это метод грубой силы: попытка перебора миллионов кандидатских паролей до тех пор, пока один не совпадет. Именно поэтому медлительность bcrypt является функцией безопасности, а не ошибкой. Чтобы проверить, верен ли пароль, вы используете функцию verify — она повторно хеширует входные данные с солью, хранящейся в хеше, и сравнивает результат.

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

Да. Bcrypt обрезает пароли на 72 байтах. Это означает, что очень длинные пароли (более 72 ASCII символов или меньше для многобайтовых Unicode-символов) дадут одинаковый хеш независимо от того, что идет после 72-го байта — «password123» и «password123abc...» будут иметь одинаковый хеш, если первые 72 байта совпадают. Для приложений, где пользователи могут вводить пароли длиннее 72 символов, распространенным методом смягчения является предварительное хеширование пароля с помощью SHA-256, а затем передача полученного хеша в bcrypt (хеш составляет 64 ASCII символа, что полностью входит в лимит).

Нет. Этот инструмент использует чистую реализацию bcrypt на JavaScript, которая выполняется полностью в вашем браузере. Ваш пароль, сгенерированный хеш и все результаты проверки остаются на вашем устройстве. Ничего не передается на какой-либо сервер. Это делает безопасным создание и тестирование хешей с использованием реальных паролей во время разработки, хотя в качестве лучшей практики рекомендуется использовать тестовые пароли вместо реальных учетных данных пользователей.

Что такое Bcrypt?

Храните пароли в открытом виде? Не надо так. Bcrypt — функция хеширования, созданная специально для паролей. Она автоматически добавляет случайную соль и имеет фактор стоимости, который можно увеличивать по мере роста мощности оборудования. Каждый хеш требует значительных вычислительных усилий — именно это делает перебор непрактичным. Большинство веб-фреймворков (Django, Rails, Laravel, Spring) поддерживают его нативно.

Зачем использовать этот генератор Bcrypt?

Вставьте пароль, выберите фактор стоимости, получите хеш. Нужно проверить? Перейдите на вкладку «Проверка» и сверьте пароль с существующим хешем. Всё работает на стороне клиента на чистом JavaScript, поэтому пароли никогда не попадают в сеть. Отлично подходит для генерации тестовых хешей при разработке или проверки продакшн-хешей без запуска приложения.

Безопасность и конфиденциальность

Безопасность ваших данных — наш приоритет

Локальная обработка

Вся обработка происходит в вашем браузере

Без передачи данных

Ваши данные не отправляются на наши серверы

Без хранения данных

Данные не хранятся и не передаются

SSL-шифрование

SSL-шифрование для безопасного соединения

Next Step

Также на MoreOnlineTools