WALUDO Инструменты
CRYPTO.03 BCRYPT GENERATOR

Генератор Bcrypt

Генерация и проверка используют один пароль, а Hash Inspector объясняет результат рядом со стоимостью, временем и границей 72 байт.

PASSWORD

Пароль и стоимость

Обычная база совместимости; измерьте рабочее оборудование

Введите пароль или вставьте хэш справа для проверки

Локальное асинхронное вычисление bcrypt.js · пароли и хэши не отправляются и не сохраняются

§ 01

Создавайте и проверяйте один пароль

1
1

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

Классический предел Bcrypt — 72 байта UTF-8. Символы CJK и emoji занимают несколько байт, поэтому учитывайте предупреждение.

2
2

Выберите стоимость

Каждое увеличение примерно удваивает работу. 12 — распространённая отправная точка, но рабочее значение нужно измерить на настоящем сервере.

3
3

Создайте или проверьте

Созданный результат автоматически попадает в поле проверки. При проверке salt и стоимость читаются из полного хэша.

§ 02

Bcrypt намеренно замедляет подбор паролей

Bcrypt — это хэширование паролей, а не обратимое шифрование. Результат содержит версию, стоимость, случайный salt и тело хэша; проверка читает salt из полной строки.

Обычный вход выполняет расчёт один раз, а злоумышленник повторяет дорогую операцию для каждой догадки. Пересматривайте стоимость при изменении оборудования.

§ 03

Масштаб и назначение фактора стоимости

Стоимость
Примерные раунды
Рекомендация
4–9
16–512
Локальные тесты и демонстрации
10–11
1024–2048
Старые или слабые системы
12
4096
Обычная база; измерьте оборудование
13–14
8192–16384
Выше стоимость; оцените задержку
15
32768
В браузере может быть заметно медленно
§ 04

Ограничение 72 байта и префикс версии важны для совместимости

Классический Bcrypt использует только первые 72 байта пароля. 72 ASCII-символа — это 72 байта, но CJK обычно занимает три, а многие emoji — четыре.

Распространённые префиксы — 2a, 2b и 2y. Современные результаты обычно используют 2b, а 2y встречается в PHP. При миграции проверяйте реальные образцы поддерживаемыми библиотеками.

§ 05

Создание и проверка Bcrypt на разных языках

import bcrypt from 'bcryptjs';
const hash = await bcrypt.hash(password, 12);
const valid = await bcrypt.compare(password, hash);
§ 06

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

Q1Можно ли расшифровать Bcrypt?

Нет. Проверка заново вычисляет ввод с salt и стоимостью из хэша; забытый пароль нужно сбросить.

Q2Подходит ли стоимость 12 для любой эксплуатации?

Нет. Это частая отправная точка, но значение выбирают по тестам на рабочем оборудовании с учётом нагрузки и ограничений.

Q3Почему один пароль даёт разные хэши?

При каждом создании используется новый случайный salt. Это защищает от радужных таблиц и массовых предварительных вычислений.

Q4Пароли отправляются или сохраняются?

Нет. bcrypt.js асинхронно считает их на текущей странице и не отправляет ввод, не записывая его в хранилище браузера.

Q5Что выбрать в новом проекте: Bcrypt или Argon2id?

Подходят оба. Новые системы часто сначала оценивают Argon2id, а Bcrypt остаётся распространённым благодаря совместимости.

✳ WALUDO TOOLBOX ✳ Нативные инструменты браузера · NO SERVER · NO DATA COLLECTION

Ваши файлы не покидают компьютер · FILES STAY LOCAL · PRIVACY FIRST