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

Генерируйте надёжные случайные пароли с выбором наборов символов. Генератор паролей показывает энтропию в битах и работает полностью в браузере.

Все расчёты выполняются в браузере. Ничего из введённого не отправляется на сервер.

01 калькулятор

Результат

    Режим
    Режим
    Наборы символов
    Модификаторы

    Генератор паролей создаёт случайные пароли из выбранных наборов символов и сообщает надёжность каждого в битах энтропии, а не расплывчатой меткой. Длина от 4 до 128 символов, с необязательным исключением неоднозначных символов и скобок и режимом парольной фразы, который строит запоминающиеся многословные пароли.

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

    Генерация случайного пароля

    Concept diagram: Входы leads to Генерация случайного пароля leads to РезультатВходыГенерация случайногопароляРезультат
    Генерация случайного пароля.

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

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

    Длина важнее сложности. Добавление одного символа к пулу из 94 символов умножает пространство поиска на 94. Замена строчной буквы на символ в пароле фиксированной длины делает гораздо меньше. Если сайт ограничивает длину пароля 16 символами, используйте все 16.

    Выбор наборов символов для включения

    Concept diagram: Входы leads to наборы символов для включения leads to РезультатВходынаборы символов длявключенияРезультат
    Выбор наборов символов для включения.

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

    НаборСимволыЧисло
    Строчныеa-z26
    ПрописныеA-Z26
    Цифры0-910
    Символы`!"#$%&'()*+,-./:;<=>?@[\]^_{\}~``32

    Все четыре вместе дают пул из 94 символов. Три модификатора сужают его:

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

    Исключить скобки убирает < > ( ) [ ] { }. Некоторые устаревшие системы неправильно обрабатывают их в формах входа, а несколько shell-сред по-особому трактуют их, когда пароль используется в скрипте.

    Без повторяющихся символов гарантирует, что каждый символ встречается один раз. Звучит надёжнее и чуть слабее: пул сужается с каждым размещённым символом, и длина пароля ограничена размером пула. Используйте только когда политика требует.

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

    Измерение надёжности пароля в битах энтропии

    Concept diagram: Входы leads to надёжность пароля в битах энтропии leads to РезультатВходынадёжность пароля вбитах энтропииРезультат
    Измерение надёжности пароля в битах энтропии.

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

    Энтропия (биты) = длина × log₂(размер пула)
    Комбинации      = размер пула ^ длина

    Биты складываются, и каждый удваивает работу. Пароль 60 бит взламывается вдвое дольше, чем 59 бит, и в 1 024 раза дольше, чем 50 бит. Поэтому небольшой прирост длины даёт большой прирост безопасности.

    Грубые пороги и причина каждого:

    • Менее 40 бит: взламывается за минуты любым с потребительским GPU. Не годится ни для чего важного.
    • 50-60 бит: сопротивляется случайной атаке, падает при целенаправленной офлайн-атаке. Подходит для входа на форум.
    • 70-80 бит: безопасен против реалистичных офлайн-атак сегодня. Разумная цель для большинства аккаунтов.
    • Свыше 100 бит: за пределами того, что любое предсказуемое железо перебирает грубой силой. Подходит для мастер-паролей менеджера и ключей шифрования.

    Вычисление энтропии пароля из 16 символов

    Concept diagram: Входы leads to энтропия пароля из 16 символов leads to РезультатВходыэнтропия пароля из 16символовРезультат
    Вычисление энтропии пароля из 16 символов.

    Пароль из 16 символов, выбранных из всех четырёх наборов, несёт около 105 бит энтропии. Вот арифметика. 1. Сложите пул. 26 строчных + 26 прописных + 10 цифр + 32 символа = 94 символа 2. Найдите биты на символ. log₂(94) = 6.55 бит

    3. Умножьте на длину. 16 × 6.55 = 104.9 бит

    4. Выразите как число комбинаций. 94¹⁶ ≈ 3.7 × 10³¹ возможных паролей

    Сократите до 12 символов, и энтропия падает до 78.6 бит с 4.7 × 10²³ комбинациями. Всё ещё сильно, и примерно в 68 миллиардов раз легче атаковать, чем 16-символьную версию. Уберите набор символов из 16-символьного пароля, и пул падает до 62, давая 95.3 бит, меньшая потеря, чем укоротить на четыре символа.

    Это сравнение стоит обдумать. Удаление четырёх символов стоит больше энтропии, чем удаление целого набора символов. Длина это рычаг.

    Сколько времени занимает взлом пароля

    Process with 3 steps: Enter how long a password takes…; Read the main result; Check the breakdown1Enter how long apassword takes…2Read the main result3Check the breakdown
    Сколько времени занимает взлом пароля.

    Любая одна цифра «время до взлома» бессмысленна без указания атаки. Один и тот же пароль падает за секунды или переживёт Солнце в зависимости от того, как атакующий угадывает, поэтому генератор сообщает два сценария и называет оба.

    Ожидаемые попытки = 2^(энтропия − 1)
    Время             = ожидаемые попытки / попыток в секунду

    Онлайн-атака, примерно 10³ попыток в секунду. Атакующий отправляет попытки в живую форму входа. Rate limiting, блокировки и сетевая задержка ограничивают скорость. Большинство реальных атак на один аккаунт выглядят так, и почти любой сгенерированный пароль переживает это бесконечно.

    Офлайн-атака, примерно 10¹² попыток в секунду. Сервис взломан, и атакующий держит хеши паролей. С GPU-кластером и быстрым хешем вроде unsalted MD5 или SHA-1 перебор идёт триллион в секунду или больше. Это сценарий, который важен, потому что на него вы не влияете.

    При 10¹² попыток в секунду пароль 78 бит занимает около 4 800 лет, а пароль 105 бит дольше возраста Вселенной на многие порядки. Пароль 40 бит занимает меньше секунды.

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

    Парольная фраза вместо случайной строки

    Concept diagram: Входы leads to парольная фраза вместо случайной строки leads to РезультатВходыпарольная фраза вместослучайной строкиРезультат
    Парольная фраза вместо случайной строки.

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

    Энтропия = число слов × log₂(размер списка слов)

    Со списком из 7 776 слов каждое слово даёт log₂(7776) = 12.9 бит.

    СловЭнтропияСопоставимо с
    451.7 битСлучайный пароль из 8 символов
    564.6 битСлучайный пароль из 10 символов
    677.5 битСлучайный пароль из 12 символов
    790.4 битСлучайный пароль из 14 символов

    Шесть слов даёт 77.5 бит, прочно против офлайн-атаки, и большинство людей запоминает за несколько повторений. Сравните ввод correct-horse-battery-staple-mountain-glass с K7#mQ2vX@pL9. Оба сильные; только один можно вспомнить и набрать с пульта телевизора.

    Два правила делают парольную фразу безопасной. Слова должны выбираться случайно машиной, а не вами, человеческий выбор слов сильно кластеризуется вокруг обычной лексики и тематических ассоциаций. И они не должны образовывать фразу, существующую где-либо, потому что цитата из песни почти не несёт энтропии, сколько бы слов ни было.

    Используйте парольную фразу для мастер-пароля менеджера, входа на устройство и почтового аккаунта. Случайные строки, хранимые в менеджере, для всего остального.

    Почему генератор использует crypto.getRandomValues

    Concept diagram: Входы leads to генератор использует crypto.getRandomValues leads to РезультатВходыгенератор используетcrypto.getRandomValuesРезультат
    Почему генератор использует crypto.getRandomValues.

    Генератор паролей выбирает каждый символ из crypto.getRandomValues(), криптографического генератора случайных чисел браузера, который запитывается из пула энтропии операционной системы. Он не использует Math.random(), и это различие между паролем и видимостью пароля.

    Math.random() это быстрый псевдослучайный генератор для симуляций и игр. Его внутреннее состояние мало, браузеры документируют его как непригодный для безопасности, и его вывод предсказуем для того, кто наблюдает достаточно или знает реализацию и примерное время генерации. Генератор паролей на Math.random() выдаёт пароли, которые можно восстановить, а не угадать, и число символов не защищает от этого.

    Есть второе, более тонкое требование. Отображение случайных байтов на набор символов простой операцией остатка вносит смещение: 2³² не делится ровно на 94, поэтому самые ранние символы набора встречаются чуть чаще. Перекос невидим в отдельном пароле и измерим на достаточной выборке, и он снижает реальную энтропию ниже расчётной. Этот генератор использует rejection sampling: значение, попавшее в неравномерный хвост, отбрасывается и перерисовывается, чтобы распределение было действительно равномерным.

    Seed для паролей не показывается, и это намеренно. Другие генераторы на этом сайте показывают seed, чтобы результат можно было воспроизвести и проверить. Воспроизводимый пароль это скомпрометированный пароль, поэтому здесь seed не хранится, не показывается и не выводится.

    Всё происходит в браузере. Ни один пароль не отправляется на сервер, не пишется в хранилище и не попадает в события аналитики.

    Безопасное хранение паролей

    Concept diagram: Входы leads to Безопасное хранение паролей leads to РезультатВходыБезопасное хранениепаролейРезультат
    Безопасное хранение паролей.

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

    Четыре практики, по убыванию важности:

    Используйте менеджер паролей. Он убирает необходимость помнить или перенабирать, что убирает стимул к повторному использованию или упрощению. Защитите его длинной парольной фразой и храните офлайн-запись этой фразы и ключа восстановления в физически защищённом месте.

    Включите двухфакторную аутентификацию везде, где предлагают, и предпочитайте приложение-аутентификатор или аппаратный ключ SMS. SMS-коды можно перехватить через SIM swapping. Второй фактор держит аккаунт в безопасности, даже когда пароль известен.

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

    Проверяйте адреса по известным утечкам. Сервисы, позволяющие искать email по публичным данным утечек, скажут, какие аккаунты требуют внимания сейчас, что полезнее, чем менять всё по расписанию.

    Часто задаваемые вопросы

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

    Шестнадцать символов это хорошее значение по умолчанию для аккаунтов, защищающих деньги, личность или переписку, давая около 105 бит энтропии из полного набора символов. Двенадцать символов, примерно 79 бит, достаточно для менее ценных аккаунтов. Где сайт разрешает больше, используйте больше, каждый дополнительный символ умножает пространство поиска на размер пула.

    Что делает пароль сильным?

    Случайность и длина, в таком порядке. Сильный пароль выбирается непредсказуемо из большого пула символов и достаточно длинный, чтобы общее число вариантов было непрактично для перебора. Замены вроде p@ssw0rd почти ничего не добавляют, потому что атакующие угадывают эти паттерны первыми. Энтропия в битах измеряет реальную силу; метка «сильный» нет.

    Безопасно ли использовать пароли, сгенерированные здесь?

    Да. Каждый пароль генерируется в браузере через crypto.getRandomValues(), криптографический генератор случайных чисел операционной системы, с rejection sampling для равномерного распределения символов. Ни один пароль не передаётся, не логируется и не сохраняется, и здесь не выполняется сторонний скрипт с доступом к странице.

    Отправляется ли мой пароль куда-либо?

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

    Что означает энтропия в битах?

    Энтропия в битах выражает, сколько попыток нужно атакующему, как степень двойки. Пароль 60 бит требует около 2⁵⁹ ожидаемых попыток. Каждый дополнительный бит удваивает сложность, поэтому цифра быстро растёт с длиной: 16 символов из пула 94 символа дают 104.9 бит, или примерно 3.7 × 10³¹ вариантов.

    Нужно ли включать символы в пароль?

    Включайте их там, где сайт принимает, но не выбирайте символы вместо длины. Добавление 32-символьного набора символов к 16-символьному паролю поднимает энтропию с 95.3 до 104.9 бит. Добавление четырёх символов к паролю без символов поднимает с 95.3 до 119.1. Длина сильнее.

    Что такое парольная фраза и настолько ли она сильна, как случайный пароль?

    Парольная фраза это несколько случайно выбранных слов, соединённых вместе. Шесть слов из списка 7 776 слов даёт 77.5 бит, сопоставимо с 12-символьным случайным паролем, и гораздо проще запомнить и ввести. Она должна быть выбрана машиной и не должна образовывать существующую фразу, потому что узнаваемая цитата почти не несёт энтропии.

    Можно ли повторно использовать сильный пароль на разных аккаунтах?

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

    Как часто менять пароль?

    Меняйте, когда есть причина: известный или подозреваемый взлом, общий или повторно использованный пароль или устройство, которым вы больше не управляете. NIST отозвал рекомендации по плановой ротации, потому что принудительная регулярная смена толкает к предсказуемым вариациям вроде добавления цифры, что ослабляет безопасность, а не улучшает.

    Что такое modulo bias и почему это важно?

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

    Итог

    Генератор паролей выбирает пароли из пула до 94 символов, используя криптографический генератор случайных чисел браузера, с rejection sampling для равномерного распределения символов, и сообщает силу как энтропию в битах, а не меткой.

    Длина сильнейший фактор: пароль из 16 символов из полного набора несёт около 105 бит, и укорочение на четыре символа стоит больше энтропии, чем удаление всего набора символов. Цифры времени взлома даны и для онлайн-атаки при 10³ попыток в секунду, и для офлайн при 10¹², потому что одна цифра без контекста ничего не значит. Режим парольной фразы даёт сопоставимую силу, оставаясь запоминаемым, что подходит для немногих паролей, которые не могут жить в менеджере. Каждый пароль генерируется локально, и ни один не передаётся, не логируется и не сохраняется.

    Заметки для сборки

    • crypto.getRandomValues() only. Math.random() in this file is a shipped vulnerability. Rejection sampling is required; test uniformity with a chi-squared fit over 10M draws on a 94-item set.
    • Entropy figures are test fixtures: 16 chars / 94 pool = 104.9 bits; 12 / 94 = 78.6; 16 / 62 = 95.3; 20 / 62 = 119.1; 6 words / 7776 = 77.5.
    • No seed displayed, stored or derivable on this page. The receipt panel states the CSPRNG and the no-transmission guarantee only.
    • The no-transmission line in the lead is a promise. No analytics event may carry a generated value; no third-party script with DOM access may load here.
    • No password history, no persistence, no localStorage.
    • NIST rotation guidance reference is SP 800-63B. Cite it if a citation is added; do not invent a version number.
    • Word count 2,090.