Генератор паролей из букв, цифр и символов

Случайная строка из латинских букв, цифр и знаков. Создаётся в браузере и никуда не отправляется.

Ваш пароль

Создаём пароль…

Настройки пароля

Что именно входит в пароль

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

Категория Символы Сколько
Строчные латинские a…z 26
Прописные латинские A…Z 26
Цифры 0…9 10
Специальные - _ . ! # $ % @ + 9
Всего — 71

Специальных символов всего девять, и это осознанно. Кавычки, обратный слэш, точка с запятой, угловые и фигурные скобки, вертикальная черта и пробел исключены: они ломают CSV, адресную строку, командную строку и SQL, а выигрыш в стойкости дают небольшой.

«Цифры включены» не значит «цифра будет»

Каждый символ выбирается независимо из общего набора. Набор из 55 знаков означает, что любой из них может оказаться на любой позиции, — но конкретная строка не обязана содержать по символу из каждой включённой категории.

Иначе и быть не может: если принудительно вставлять по одному символу каждого типа, часть позиций перестаёт быть случайной, и заявленные биты становятся неправдой. Поэтому пароль без единой цифры — не ошибка, а нормальное поведение случайного выбора.

Как выбрать длину

Длина — единственный параметр, который даёт больше стойкости без компромиссов. Каждый следующий символ умножает число вариантов примерно в 55 раз, то есть добавляет около 5,8 бита.

Длина Стойкость Где уместно
8 46,3 бита Только там, где после нескольких неверных попыток устройство блокируется.
12 69,4 бита Обычный аккаунт в сервисе, который вы не считаете важным.
16 92,5 бита Значение по умолчанию: почта, банк, менеджер паролей.
20 115,6 бит Доступ, который нельзя восстановить через поддержку.
24 138,8 бит API-ключи и сервисные учётные записи.
32 185,0 бит Ключи шифрования — там, где строку только вставляют копированием.

Цифры — для набора по умолчанию: все четыре категории, похожие символы исключены, итого 55 знаков в наборе. Если выключить часть категорий, стойкость упадёт: страница пересчитывает её для того пароля, который показан на экране, а не для среднего по больнице. Подробнее про сами биты — сколько их нужно.

Похожие символы: за что платим

Пароль из символов почти всегда переписывают глазами — с экрана на бумагу или в чужой телефон. Часть знаков в этом случае путают.

Опция «Убрать похожие символы» выбрасывает шестнадцать знаков, которые проще всего перепутать при чтении: I l 1 O 0 o S 5 Z 2 B 8 G 6 q 9. В наборе остаётся 55 символов вместо 71.

Категория Было Осталось Что выброшено
Строчные 26 23 l o q
Прописные 26 20 I O S Z B G
Цифры 10 3 1 0 5 2 8 6 9
Специальные 9 9 —

В битах цена небольшая: 71 → 55 знаков это около 0,37 бита на символ, то есть примерно 5,9 бита на пароле из 16 символов. Взамен вы не будете гадать, l там или 1.

Но есть цена, которую по общей стойкости не видно. Сильнее всего исключение похожих бьёт по цифрам: из десяти остаются три. Доля цифр в наборе падает с 10 из 71 до 3 из 55, и пароль без единой цифры при 16 символах выпадает уже примерно в 41 случае из 100 против 9 из 100 без исключения. Стойкость при этом не страдает — 55 знаков на позицию остаются 55 знаками, — но если цифра в пароле нужна по требованиям сайта, надёжнее выключить исключение похожих, чем перегенерировать строку до появления цифры.

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

Как безопасно пользоваться результатом

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

  • Сохраните пароль сразу. Страница не пишет его ни в localStorage, ни в cookies и не отправляет на сервер. Но пока вкладка открыта, пароль лежит в памяти страницы, а после копирования — в буфере обмена. Буфер живёт отдельно от вкладки: закрытие её не очищает, и содержимое останется там, пока вы не скопируете что-то другое. Автоматически чистить буфер страница не умеет — это решает только сам пользователь.
  • Место для хранения — менеджер паролей, а не заметки, не переписка с самим собой и не фотография экрана. Менеджер подставит строку сам, и вам не придётся её набирать.
  • Не пересылайте пароль в мессенджере или почте. Сообщение останется в истории у обоих, а иногда и на серверах сервиса. Если передать нужно срочно, используйте функцию «поделиться один раз» в менеджере паролей.
  • Один пароль — одно место. Повторное использование обнуляет всю стойкость: утечка на одном сайте открывает остальные, где стоит та же строка.
  • Для API-ключей включите ротацию. Ключ живёт в конфигурации и в логах, поэтому его меняют по расписанию, а не «когда сломается».

Если пароль нужен там, где его придётся набирать руками или диктовать голосом, — возьмите пароль из слов: он длиннее, зато его не надо расшифровывать по одной букве.

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

Почему в пароле нет цифры, хотя цифры включены?

Каждый символ выбирается независимо из общего набора. Набор категорий расширяет выбор, но не гарантирует наличие каждой категории в конкретной строке.

Цифр в наборе по умолчанию меньше, чем кажется. Из десяти цифр «убрать похожие» выбрасывает семь (0 1 2 5 6 8 9 не отличить от букв), и остаются только 3 4 7: три знака из 55. Поэтому при 16 символах пароль без единой цифры выпадает примерно в 41 случае из 100. Если похожие не исключать, цифр будет 10 из 71, и та же строка останется без цифры примерно в 9 случаях из 100.

Это нормальное поведение случайного выбора, а не ошибка: принудительная вставка «по символу каждого типа» отняла бы у части позиций случайность, и заявленная стойкость стала бы неправдой.

Какой длины пароль достаточен?

Для обычного аккаунта хватает 12 символов, для почты, банка и менеджера паролей берите 16 и больше. Для API-ключей и технических учётных записей, которые вставляют копированием, удобно 24–32.

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

Пароль точно не отправляется на сервер?

Не отправляется. Строка собирается в браузере через crypto.getRandomValues — ту же криптографию браузер использует для защиты платежей. У сайта нет ни базы данных, ни серверного кода: это статические файлы.

Проверить можно за минуту: откройте страницу, отключите интернет и нажмите «Другой». Новый пароль появится — значит, спрашивать сервер было не у кого. Другие способы проверки.

Дальше