Обновлено:
Генератор рандомного пароля
Более 80% взломов аккаунтов происходит через скомпрометированные пароли. Слабый пароль – «123456», имя питомца, дата рождения – подбирается за секунды. Рандомный пароль, сгенерированный криптографически стойким алгоритмом, делает атаку перебором практически невозможной.
Как работает генератор рандомного пароля
Калькулятор выше создаёт пароль на основе криптографически стойкого генератора псевдослучайных чисел (CSPRNG) – источника случайности, который использует энтропию операционной системы. Это тот же механизм, что задействован для TLS-ключей и сессионных токенов.
Параметры генерации:
- Длина – количество символов в пароле (от 4 до 128)
- Строчные буквы – a–z (26 символов)
- Заглавные буквы – A–Z (26 символов)
- Цифры – 0–9 (10 символов)
- Символы – !@#$%^&* и другие (30 символов)
Размер алфавита напрямую определяет стойкость. При включении всех категорий пул составляет 92 символа, только строчных – 26.
Что такое энтропия пароля и зачем она нужна?
Энтропия – единственный объективный показатель стойкости пароля. Она измеряется в битах и показывает, сколько равновероятных комбинаций нужно перебрать для подбора.
Формула расчёта:
H = L × log₂(N)
Где L – длина пароля, N – размер алфавита.
Примеры:
| Пароль | Длина | Алфавит | Энтропия |
|---|---|---|---|
abcdef | 6 | 26 | 28 бит |
aB3$fK9! | 8 | 92 | 52 бит |
kX7#mP2$vL4@nQ8! | 16 | 92 | 104 бит |
correct horse battery staple | 4 слова | 1296 | 41 бит |
Шестисимвольный пароль из строчных букв – всего 28 бит. Шестнадцатисимвольный из полного алфавита – 104 бита. Разница – в 2⁷⁶ раз больше комбинаций.
Сколько бит энтропии нужно для надёжной защиты?
Пороги стойкости, основанные на возможностях современного оборудования NIST SP 800-63B:
- < 28 бит – взламывается мгновенно
- 28–36 бит – секунды или минуты
- 36–60 бит – часы или дни при офлайн-атаке
- 60–80 бит – годы на текущем оборудовании
- 80–128 бит – за пределами возможностей на десятилетия
- 128+ бит – практически не взламываемо при обозримых технологиях
Для повседневных аккаунтов достаточно 60–80 бит. Для критичных (почта, менеджер паролей, криптокошельки) – 100+ бит.
Длина пароля vs сложность: что важнее?
Оба параметра влияют на энтропию мультипликативно, но длина даёт больший прирост на каждый добавленный символ.
Сравним два подхода:
- 8 символов, полный алфавит (92): 8 × log₂(92) = 52 бита
- 16 символов, только строчные (26): 16 × log₂(26) = 75 бит
Длинный пароль из простого алфавита оказался стойче, чем короткий из сложного. Именно поэтому рекомендации NIST с 2017 года отказались от обязательных правил композиции (обязательная цифра, символ) в пользу увеличения длины.
Удаление похожих символов (il1Lo0O) сокращает алфавит с 92 до 85 символов – потеря ~0,14 бита на каждый символ. Для 16-символьного пароля это 2,2 бита, что незначительно, но улучшает читаемость.
Типы рандомных паролей
Полностью случайный
Максимальная энтропия на символ. Состоит из бессмысленной последовательности букв, цифр и символов: kX7#mP2$vL4@nQ8!. Лучший выбор для хранения в менеджере паролей – не нужно запоминать, только копировать.
Произносимый
Чередование согласных и гласных: kevutofipa. Удобнее запомнить, но энтропия ниже – на каждой позиции выбор не из 92, а из 21 (согласные) или 5 (гласных). Десятибуквенный произносимый пароль даёт лишь ~34 бита против ~66 бит у полностью случайного той же длины.
Passphrase (Diceware)
Несколько случайных слов из словаря, разделённых пробелами: correct horse battery staple. Для генерации используется список EFF Short Wordlist – 1 296 коротких слов, ~10,3 бита на слово.
| Кол-во слов | Энтропия | Стойкость |
|---|---|---|
| 4 | 41 бит | Слабая |
| 5 | 52 бита | Приемлемая |
| 6 | 62 бита | Надёжная |
| 7 | 72 бита | Очень надёжная |
| 8 | 83 бита | Очень надёжная |
Шесть слов из EFF-списка сопоставимы по стойкости с 12-символьным случайным паролем, но легче запоминаются.
Почему Math.random() не подходит для паролей?
Math.random() и аналогичные функции (rand(), random()) – псевдослучайные генераторы с предсказуемым алгоритмом. Зная начальное значение (seed), можно воспроизвести всю последовательность. Браузеры не раскрывают seed, но сам принцип делает такие генераторы непригодными для защиты.
Криптографически стойкая альтернатива:
- JavaScript –
crypto.getRandomValues()– использует системный CSPRNG - Linux –
getrandom(2)или/dev/urandom - Windows –
BCryptGenRandom - macOS –
SecRandomCopyBytes
Эти источники заполняют массив случайными значениями напрямую из ядра ОС. Для паролей рекомендуется OsRng – прямой вызов системного генератора без промежуточных пользовательских алгоритмов.
Советы по использованию сгенерированных паролей
Храните в менеджере паролей – Bitwarden, KeePass, 1Password. Не записывайте в текстовые файлы и не отправляйте себе в мессенджерах.
Уникальный пароль для каждого сервиса – при утечке одной базы злоумышленник не получит доступ к другим аккаунтам.
Включайте символы с осторожностью – некоторые сервисы не принимают
!@#$%^&*. Если генератор выше выдаёт отклонённый пароль, отключите символы и увеличьте длину на 2–3 символов.Проверяйте энтропию, а не визуальную сложность –
aaaaaaaaaa1!выглядит как «сложный» (есть символы), но энтропия минимальна.kxmpszqjwltdвыглядит простым, но даёт 55 бит.Для мастер-пароля используйте passphrase – 7–8 слов из словаря легче набрать по памяти, чем 20 случайных символов, при сопоставимой стойкости.
Не полагайтесь на замену символов –
p@$$w0rdне стал надёжнееpassword. Атаки подстановки известны давно и автоматизированы.
Рекомендации носят информационный характер. Для защиты критичных данных проконсультируйтесь со специалистом по информационной безопасности.
Часто задаваемые вопросы
Что означает энтропия пароля в битах?
Энтропия показывает количество случайных бит в пароле – сколько попыток нужно для взлома перебором. 40 бит – слабо, 60–80 – надёжно, 128+ – практически не взламываемо при текущих технологиях.
Какой длины должен быть рандомный пароль?
Для всех типов символов (92-символьный алфавит) минимум 12 символов – это ~78 бит энтропии. Для критичных аккаунтов лучше 16+ символов, что даёт 100+ бит и защиту от массированного перебора.
Чем passphrase отличается от обычного пароля?
Passphrase состоит из нескольких случайных слов, разделённых пробелами, например «correct horse battery staple». Легче запомнить при сопоставимой энтропии: 6 слов из списка EFF – ~62 бит.
Можно ли использовать один рандомный пароль для всех аккаунтов?
Нет. При утечке одной базы злоумышленник получит доступ ко всем аккаунтам. Генерируйте уникальный пароль для каждого сервиса и храните в менеджере паролей.
Почему компьютерный «случайный» – не всегда случайный?
Обычные генераторы (Math.random, rand()) – псевдослучайные: они выдают предсказуемую последовательность по известному алгоритму. Для паролей нужен CSPRNG – генератор на основе криптографически стойкого источника ОС.
Взломают ли мой 16-символьный рандомный пароль?
При 92-символьном алфавите это 104 бита энтропии – перебор займёт миллиарды лет на текущем оборудовании. Реальная угроза – не перебор, а кража через фишинг или утечку базы с слабым хешированием.
Похожие калькуляторы и статьи
- Рандомайзер паролей: как создать безопасный пароль онлайн
- Генератор паролей буквенно-цифровой – создать онлайн | 62 символа
- Генератор паролей из 12 символов онлайн
- Генератор паролей 8 символов – создать онлайн
- Рандомный ключ: генерация случайных ключей онлайн
- Генератор строк онлайн – создайте случайный текст, пароль или ID