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

Случайные пароли из строчных и прописных букв, цифр и спецсимволов: длина от 4 до 128, исключение похожих и неудобных символов, гарантия состава и оценка стойкости. Пароли собирает системный генератор браузера.

Параметры

Пароли пересобираются сами при любом изменении настроек — нажимать «Сгенерировать» не нужно.

От 4 до 128 символов

От 1 до 100 значений сразу

Частая длина
Наборы символов
Строчные латинскиеa–z
Прописные латинскиеA–Z
Цифры0–9
Спецсимволы!@#$%^&*()-_=+[]{}<>?,.:;

Добавляются к выбранным наборам, повторы схлопываются. Обязательным набором не считаются: гарантии «хотя бы один такой символ» у них нет.

Исключения
Исключить похожие символыВ алфавите не останется i, l, 1, I, L, 0, O, o
Исключить неудобные символыНе будет кавычек, слэшей, вертикальной черты, скобок всех видов, точки с запятой, двоеточия, запятой и пробела

Результат

Пока нечего показать: настройки противоречивы, причина написана под полем.

Зачем генерировать пароль

Пароль — единственное, что стоит между аккаунтом и тем, кто подбирает к нему ключ. Придуманные человеком пароли плохи не тем, что их легко угадать целиком, а тем, что они предсказуемы по частям: слова, имена, даты и замены вроде «a» вместо «@» перебираются словарём за минуты. Случайная строка таких зацепок не даёт — каждый её символ равновероятен, и перебрать её можно только целиком.

Пароли собирает системный генератор браузера (crypto.getRandomValues) прямо на странице: он берёт энтропию у операционной системы, и предсказать последовательность нельзя даже теоретически. Ничего никуда не отправляется, пароли не сохраняются — обновите страницу, и их не станет.

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

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

Как считается стойкость пароля?

Оценка опирается на энтропию: длина пароля умножается на двоичный логарифм размера алфавита — это число бит, которыми нумеруется каждый вариант. 16 символов из алфавита в 26 букв дают около 75 бит, те же 16 символов из букв, цифр и спецсимволов — около 103 бит. Дальше энтропия переводится в словесную оценку и в примерное время перебора при 10¹¹ попыток в секунду. Оценка приблизительная: она знает только длину и алфавит и ничего не знает о том, как пароль хранится и не попал ли он в утечку.

Почему нет режима с seed, хотя в других генераторах он есть?

Seed нужен там, где результат требуется повторить: одно и то же число даёт одну и ту же последовательность. Для пароля это вредно: записанный seed — это и есть пароль, только в другом виде, и любой, кто его увидит, соберёт ту же строку. Поэтому здесь единственный источник случайности — системный генератор браузера (crypto.getRandomValues), у которого нет ни seed, ни состояния, которое можно было бы подобрать.

Пароли где-то сохраняются и уходят на сервер?

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

Зачем исключать похожие и неудобные символы?

Похожие (i, l, 1, I, L, 0, O, o) отличаются одной палочкой или кольцом, и их путают, когда пароль переписывают с экрана или с листа бумаги. Неудобные — кавычки, слэши, вертикальная черта, скобки всех видов, точка с запятой, двоеточие, запятая и пробел — ломают вставку: кавычка закрывает строку в конфиге, пробел делит команду на аргументы в командной строке, вертикальная черта и угловая скобка перенаправляют вывод, а запятая и точка с запятой разделяют поля в CSV. Исключение уменьшает алфавит и вместе с ним стойкость, поэтому включайте его, только если пароль придётся вставлять руками.

Какой длины пароль брать?

Для обычных сервисов достаточно 12–16 символов при полном алфавите: это 75–103 бита. Длина важнее экзотики — каждый добавленный символ увеличивает стойкость в разы, а включение ещё одного набора добавляет всего несколько бит. Для важных аккаунтов (почта, банк, менеджер паролей) берите 20 символов и больше. И главное: у каждого сервиса пароль должен быть свой, потому что утечка на одном сайте обнуляет стойкость на всех, где повторён тот же пароль.

Сайт требует конкретный состав символов. Что делать?

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