Генератор и проверщик bcrypt-хешей

Создавайте bcrypt-хеш пароля из открытого текста с выбранным фактором стоимости или проверяйте пароль по существующему bcrypt-хешу — полностью в вашем браузере.

Загрузка инструмента…

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

Что такое Генератор и проверщик bcrypt-хешей?

Генератор и проверщик bcrypt-хешей — это бесплатный браузерный инструмент для функции хеширования паролей bcrypt, того самого алгоритма, который используют бесчисленные веб-фреймворки для безопасного хранения паролей. Backend-разработчики, инженеры по безопасности и те, кто изучает аутентификацию, применяют его, чтобы получить образцовый хеш $2b$ для наполнения базы данных, подтвердить, что сохранённый хеш действительно соответствует известному паролю, или увидеть, как фактор стоимости меняет объём работы. В режиме «Хеш» вы вводите пароль и фактор стоимости (4-31); для вас генерируется случайная 16-байтовая соль, а результатом становится стандартная закодированная bcrypt-строка, в которой вместе хранятся версия алгоритма, стоимость, соль и дайджест. В режиме «Проверка» вы вставляете пароль и существующий bcrypt-хеш, нажимаете «Проверить», и инструмент сообщает, совпадают ли они. Поскольку bcrypt намеренно медленный, при высоком факторе стоимости вычисление может занять заметное время.

Как пользоваться Генератор и проверщик bcrypt-хешей

  1. Выберите «Хеш», чтобы создать новый хеш, или «Проверка», чтобы сверить пароль с существующим.
  2. В режиме «Хеш» введите или вставьте пароль в открытом тексте, который хотите защитить.
  3. Задайте фактор стоимости (10 — распространённое значение по умолчанию; выше — медленнее и надёжнее).
  4. Нажмите «Создать хеш» и скопируйте полученную bcrypt-строку, как только она появится.
  5. В режиме «Проверка» введите пароль и вставьте bcrypt-хеш, затем нажмите «Проверить», чтобы увидеть «Совпадает» или «Не совпадает».

Примеры

Хеширование пароля со стоимостью по умолчанию

Ввод

пароль: correct horse battery staple, стоимость: 10

Вывод

$2b$10$... (60-символьный bcrypt-хеш; соль случайна, поэтому он отличается каждый раз)

Проверка пароля по сохранённому хешу

Ввод

пароль: hunter2, хеш: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy

Вывод

Совпадает

Неверный пароль не проходит проверку

Ввод

пароль: wrongpass, хеш: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy

Вывод

Не совпадает

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

Отправляются ли мои пароли или хеши куда-либо?
Нет. Хеширование и проверка выполняются полностью в вашем браузере с помощью WebAssembly-сборки bcrypt. Ничего из введённого вами не загружается и не сохраняется на каком-либо сервере, поэтому инструмент работает офлайн, а ваши пароли никогда не покидают страницу.
Какой фактор стоимости использовать?
Фактор стоимости задаёт, сколько раундов выполняет bcrypt; каждое увеличение примерно удваивает объём работы. Значение 10-12 распространено для веб-приложений. Более высокие значения лучше противостоят перебору, но дольше вычисляются, поэтому очень большие числа могут на мгновение подвесить браузер.
Почему хеш меняется каждый раз для одного и того же пароля?
Для каждого хеша генерируется новая случайная 16-байтовая соль, и она встраивается в результат. Разные соли дают разные хеши для одного и того же пароля — именно это и делает bcrypt безопасным. Проверка всё равно проходит, потому что соль считывается обратно из сохранённого хеша.
Почему проверка сообщает, что мой хеш недействителен?
Проверка ожидает полный bcrypt-хеш в стандартной закодированной форме, обычно начинающийся с $2a$, $2b$ или $2y$, за которыми следуют стоимость и 53 символа соли с дайджестом. Если часть строки отсутствует или изменена, инструмент не может прочитать соль и сообщает об ошибке.
Могу ли я использовать этот хеш прямо в своём приложении?
Да. Вывод — это стандартная закодированная bcrypt-строка, совместимая с распространёнными bcrypt-библиотеками, поэтому вы можете хранить её и сверять с ней на своём сервере. Для реальных систем создавайте хеш там, где вводится пароль, а не копируйте его через другие инструменты.

Похожие инструменты