Хэш Bcrypt 🔒 Работает локально в браузере — ничего не загружается.

Хэшируйте пароль с bcrypt или проверьте его по хэшу.

 

Об этом инструменте

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

Работает в браузере с библиотекой bcryptjs, поэтому ни один пароль не отправляется на сервер. Учтите: bcrypt предназначен для хранения паролей, а не для обратимого шифрования.

Частые вопросы

Почему для паролей стоит использовать bcrypt, а не SHA-256?

SHA-256 быстрый — это отлично для проверки целостности файлов, но ужасно для паролей, потому что злоумышленники могут пробовать миллиарды вариантов в секунду. bcrypt намеренно медленный и включает случайную соль для каждого хеша, что делает перебор и атаки по заранее вычисленным радужным таблицам непрактичными.

Что означает число «cost» (стоимость)?

Cost — это степень двойки в качестве коэффициента трудоёмкости: каждое +1 примерно удваивает время вычисления хеша. Cost 10 (значение по умолчанию) занимает порядка десятков миллисекунд; cost 14-15 может занимать секунды. Выбирайте максимальный cost, который ваш сервер может позволить на один вход без превращения в узкое место.

Мои пароли отправляются на сервер?

Нет. Хеширование и проверка выполняются полностью в вашем браузере, в Web Worker, если он доступен, чтобы хеширование с cost 15 не «замораживало» вкладку. Ничего из введённого здесь не передаётся и нигде не сохраняется.

Почему bcrypt-хеш одного и того же пароля каждый раз разный?

bcrypt генерирует новую случайную соль при каждом хешировании, и эта соль встраивается прямо в строку результата ($2b$10$<соль><хеш>). Это ожидаемое поведение — именно оно не позволяет двум одинаковым паролям давать одинаковые хеши.

Почему проверка завершилась ошибкой «неверный формат хеша», а не «не совпадает»?

Корректный bcrypt-хеш всегда соответствует шаблону $2a/b/x/y$<cost>$<53 символа>. Если то, что вы вставили, не соответствует этому — обрезано, неверный алгоритм, лишние пробелы — это другая проблема, отличная от неверного пароля, поэтому она сообщается отдельно.