Правило умножения
Каждая позиция пароля — независимый выбор из m символов. По правилу умножения, если один выбор можно сделать m способами и второй тоже m способами, то пару — m·m способами.
Продолжив рассуждение на n позиций, получаем mⁿ. Формула верна, если повторы разрешены и порядок символов важен, то есть пароль «ab» отличается от «ba».
Примеры для цифр и букв
ПИН-код из четырёх цифр допускает 10⁴ = 10 000 вариантов, из шести — миллион. Пароль из шести строчных латинских букв даёт 26⁶ = 308 915 776 комбинаций.
Если добавить заглавные буквы и цифры, алфавит вырастает до 62 символов, и восьмизнаковый пароль даёт 62⁸ = 218 340 105 584 896, то есть более 218 триллионов вариантов.
Что важнее: длина или алфавит
Добавление одного символа умножает число вариантов на m, тогда как расширение алфавита на один знак увеличивает число лишь в ((m + 1)/m)ⁿ раз. Для m = 26 и n = 8 длина даёт рост в 26 раз, а новый символ в алфавите — всего в 1,36.
Поэтому длинные пароли из обычных слов-фраз часто лучше коротких с экзотическими символами, особенно если они действительно случайны.
Измерение в битах
Число вариантов удобно оценивать в битах: n·log₂ m. Для 62⁸ это около 47,6 бита, для шести цифр — 19,9 бита. Каждый добавленный бит удваивает число вариантов.
Такое представление упрощает сравнение паролей с ключами шифрования, оцениваемыми также в битах. Разница в том, что пароли выбирают люди, и случайности в них меньше.
Почему теория расходится с практикой
Расчёт предполагает равновероятный выбор каждого символа. Реальные люди выбирают даты рождения, имена и последовательности вроде 1234, поэтому настоящее пространство перебора значительно меньше.
Для безопасности используйте менеджеры паролей и генераторы случайных строк, включайте двухфакторную защиту и не используйте один пароль на разные сервисы.
Границы применения формулы
Формула mⁿ описывает именно размещения с повторениями. Если символы нельзя повторять или есть правила, например «не менее одной цифры», нужны другие формулы, а общее число вариантов уменьшается.
Калькулятор ограничен результатами до 10¹⁵, поэтому для длинных паролей оценивайте число бит.
Как пользоваться результатом осмысленно
Сравнивайте число вариантов разных схем: четыре цифры дают 10⁴, шесть — 10⁶, а восемь символов из 62 — 62⁸. Разница на много порядков показывает, насколько длина влияет сильнее, чем кажется интуитивно.
При проектировании системы, где пользователь придумывает код, число вариантов служит лишь верхней границей. Нужны ограничения числа попыток ввода, блокировки и задержки между ними.
Для личных паролей лучше всего подходят длинные случайные строки из менеджера паролей и отдельный пароль для каждого сервиса.
Если нужно сравнить две схемы, полезно сразу записать результаты в виде степеней десяти: порядок величины быстрее всего показывает, насколько одна схема богаче другой.
Если вы разрабатываете форму ввода, показывайте пользователю число бит или грубую оценку стойкости, но не обещайте абсолютной защиты: надёжность зависит и от того, как хранится пароль.
Формула расчёта
N = mⁿ
Проверенные примеры
Сколько вариантов у ПИН-кода из четырёх цифр?
10⁴ = 10000 вариантов.
Сколько паролей длиной 8 символов из 62 знаков (26 + 26 + 10)?
62⁸ = 218 340 105 584 896 ≈ 2,18·10¹⁴.
Как пользоваться онлайн-калькулятором
- Определите, какие символы разрешены, и подсчитайте их количество.
- Введите размер алфавита и длину пароля.
- Нажмите «Вычислить».
- Сравните результат со своими представлениями о необходимой стойкости.