Генератор паролей

Криптографически стойкий // v1.0

Настройка

Диапазон: 4-64

Диапазон: 1-10

Наборы символов
Буфер_Вывода

Ожидание ввода...

Что такое генератор случайных паролей?

Генератор случайных паролей собирает пароль, равномерно случайно выбирая символы из разрешённых наборов. RandomHub использует криптографически стойкий Web Crypto API браузера (window.crypto.getRandomValues) и метод отбраковки выборок, чтобы исключить смещение по модулю — тот же источник энтропии, на который опираются ведущие менеджеры паролей. Вы задаёте длину (от 4 до 64 символов), какие наборы включены (заглавные, строчные, цифры, символы) и нужно ли исключить визуально неоднозначные знаки (l, 1, I, O, 0). Генерация полностью идёт в браузере; пароль не уходит в сеть и не пишется в логи.

Для кого этот генератор

🔐

Те, кому важна приватность

Вы сами управляете учётными данными и хотите генератор, который можно проверить — открытый, в клиенте, — а не «доверьтесь нам, у нас всё надёжно».

🛠️

IT- и системные администраторы

Сервисные аккаунты, парольные фразы для SSH-ключей, seed для БД, разовые учётки для нового сотрудника. Лимит в 64 символа закрывает почти всё, кроме ключей с полной энтропией.

👨‍💻

Разработчики

Быстрые одноразовые секреты для dev-окружений, тестовые фикстуры, моки авторизации, примеры данных — когда `pwgen` или `openssl rand` дороже, чем открытая вкладка.

👨‍👩‍👧

Родители

Заводите аккаунт ребёнку, который ещё ни разу не запоминал крепкий пароль. Сгенерируйте без неоднозначных символов — пароль читается вслух и набирается без ошибок.

🧰

Self-host

Поднимаете Vaultwarden, Nextcloud, Postgres или админку у себя — нужны свежие учётки до того, как подключите менеджер. Сгенерировал, вставил, поехали.

🧑‍💼

Когда встроенный генератор подводит

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

Почему этот генератор

01

Криптографически стойкий источник

Байты идут из window.crypto.getRandomValues — Web Crypto API, тот же источник, что у 1Password, Bitwarden и современных браузеров. Никакого Math.random в цепочке.

02

Без смещения по модулю

Наивный `random % poolSize` смещён к младшим индексам, когда размер пула не делит источник без остатка. Мы используем отбраковку выборок относительно Uint32 — каждый символ остаётся равновероятным.

03

Стойкость в реальных битах

Энтропия = длина × log₂(размер пула), стандартная формула. Уровни: слабый <40, средний 40–63, сильный 64–95, крепость 96+. Видно сразу, попадает ли конфигурация в нужный диапазон.

04

Только в браузере

Никаких сетевых запросов при генерации. Ничего не пишется, не хранится, не передаётся, не анализируется. Откройте DevTools, нажмите «Сгенерировать» — вкладка Network остаётся пустой.

Типичные сценарии с примерами

Новый пароль для банковского сайта

Регистрация на банковском или госсервисе без поддержки символов. Длина 20, наборы Заглавные / Строчные / Цифры, символы выключены, неоднозначные исключены — пароль читаем на распечатке.

Настройки: длина 20, Заглавные+Строчные+Цифры, Исключить неоднозначные. Пример: «Tyek5JWXcbgjLE2EH3vk» — 20 × log₂(58) ≈ 117 бит, уверенно в зоне «крепость», без символов.

Пароль-фраза для SSH-ключа

Приватному ключу нужна фраза, которую раз в день вводите по памяти. Длина 24, все наборы, неоднозначные включены — высокая энтропия и читабельность. Сохраните в менеджер и перестаньте пытаться удержать в голове.

Настройки: длина 24, все наборы, Исключить неоднозначные выключено. Пример: «K9$mZ#7vTq!4nL@8pR2&yX#W» — 24 × log₂(76) ≈ 150 бит. Запас прочности больше, чем у самого ключа.

Одноразовый тестовый аккаунт

Нужен пароль для временной учётки во время разработки. Длина 12, строчные + цифры — достаточно; аккаунт удалится через час.

Настройки: длина 12, только Строчные+Цифры. Пример: «k7vmqr3z9fnp» — 12 × log₂(36) ≈ 62 бита. Уровень «средний», нормально для часовой одноразовки.

Пароль для общего киоска, читать вслух

Один человек диктует, другой набирает. Исключить неоднозначные (l строчная, I заглавная, цифра 1, O заглавная, 0) — самые частые ошибки переписывания исчезают.

Настройки: длина 16, Заглавные+Строчные+Цифры, Исключить неоднозначные включено. Пример: «RvkP4hgWmFu82tNz» — 16 × log₂(58) ≈ 94 бита. Почти «крепость», читается даже в шумной комнате.

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

  1. 1.

    Указать длину

    От 4 до 64. 16 — крепкий дефолт для большинства аккаунтов; 24+ для SSH-фраз или root-учёток на собственных серверах.

  2. 2.

    Выбрать наборы

    Включите Заглавные, Строчные, Цифры, Символы. Каждый включённый набор расширяет пул и повышает энтропию на символ. Инструмент гарантирует наличие хотя бы одного символа из каждого включённого набора.

  3. 3.

    Решить про неоднозначные

    Выключено (по умолчанию): l, 1, I, O, 0 остаются в пуле — чуть больше энтропии. Включено: фильтруются — пароль легче читать вслух и переписывать.

  4. 4.

    Сгенерировать и скопировать

    Кнопка «Сгенерировать» или Enter. У каждого пароля своя кнопка копирования; «Скопировать всё» работает на режим нескольких паролей (1–10 за раз). «Показать / Скрыть» защищает от взгляда через плечо в публичном месте.

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

Этот генератор действительно безопасен?

Случайность берётся из window.crypto.getRandomValues — Web Crypto API, того же источника, который 1Password, Bitwarden и современные браузеры используют для собственных генераторов. Отбраковка выборок убирает смещение по модулю. Генерация полностью на клиенте: откройте DevTools, нажмите «Сгенерировать» — увидите, что сетевого трафика нет.

Что такое «смещение по модулю» и почему это важно?

Наивный подход — взять 32-битное случайное число и применить `n % poolSize`. Когда размер пула не делит 2³² нацело, некоторые позиции становятся чуть вероятнее остальных. Для пароля это утечка энтропии. Мы отбрасываем выборки, попавшие в несбалансированный «хвост», и пересэмплируем — каждый символ остаётся равновероятным.

Как считается стойкость в битах?

Энтропия = длина × log₂(размер пула). Пароль из 16 строчных + цифр: 16 × log₂(36) ≈ 83 бита. Та же длина со всеми четырьмя наборами без фильтра неоднозначных: 16 × log₂(94) ≈ 105 бит. Пороги: слабый <40, средний 40–63, сильный 64–95, крепость 96+.

Зачем исключать неоднозначные символы?

l, 1, I, O, 0 во многих шрифтах визуально неотличимы. Их исключение помогает, когда пароль читают вслух, переписывают на бумагу, диктуют по телефону или показывают на дисплее киоска. Цена — чуть меньший пул и поэтому чуть меньше энтропии на символ. Чаще всего обмен оправдан.

Сохраняются ли пароли где-то ещё?

Нет. Генерация происходит в JavaScript в вашем браузере. Страница не делает сетевых запросов при нажатии «Сгенерировать». Ничего не логируется, не сохраняется, не передаётся, не анализируется. Даже по запросу мы не сможем восстановить ни один сгенерированный пароль — следов нигде не остаётся.

Почему минимум 4, а не 8?

Для большинства аккаунтов нужен пароль от 12 символов. Минимум в 4 оставлен под легитимные «PIN-сценарии» (код от двери, PIN приложения, школьная игра), где короткая числовая или буквенная строка — это и есть требование. Индикатор стойкости предупредит, если энтропии мало.

Какие символы входят, если включить «Символы»?

Набор: `!@#$%^&*()-_=+[]{};:,.<>?/` — 26 знаков. Мы намеренно исключаем символы, которые часто ломают валидацию форм (обратный слэш, одинарные и двойные кавычки, бэктик, пробел), чтобы пароль работал в большинстве форм регистрации.

Можно ли сгенерировать парольную фразу типа «правильная лошадь батарея скоба»?

Сейчас — нет. RandomHub генерирует пароли по символам. Diceware-фразы требуют кураторского словаря и являются другим инструментом. Если такая страница нужна, это будет отдельная страница.

О сильных случайных паролях

Стойкость пароля к перебору растёт экспоненциально с энтропией в битах. Пароль из 12 символов, выбранных среди 94 печатных ASCII, несёт около 79 бит — уже за пределами того, что офлайн-атакующий взломает разумным железным бюджетом, при условии что хеш правильно «растянут». 16 символов дают около 105 бит, 24 — около 158, что заметно превышает практический уровень безопасности AES-128. Главный вывод последнего десятилетия исследований паролей: длина важнее разнообразия классов. Добавить символ к 10-значному паролю — меньший выигрыш, чем нарастить тот же пароль до 14 символов в более узком классе. Дефолты RandomHub — длина 16, все четыре набора, без фильтра неоднозначных — комфортно лежат в зоне «крепость» для большинства моделей угроз. Инструмент намеренно узкий: криптографически стойкий случай, настраиваемая длина и наборы, честный индикатор энтропии — и больше ничего. Если фича заметно улучшит рабочий процесс и не нарушит гарантию «всё остаётся в браузере» — напишите нам.