Пароль из 16 символов: сколько это в битах
Пароль из 16 символов при полном наборе — это 86 знаков в алфавите и 102,8 бит энтропии: уровень «Очень сильный», полный перебор занял бы 14 трлн лет. Каждый лишний символ в пароле добавляет log2(86) ≈ 6,4 бита, а расширение алфавита — меньше: переход от цифр к полному набору даёт разницу дешевле, чем два дополнительных знака. 18 символов того же набора дают уже 115,7 бит.
Что даёт 16 символов при разных наборах
| Набор символов | Размер алфавита | Биты энтропии | Оценка и время перебора |
|---|---|---|---|
| Только цифры | 10 | 53,2 | Нормальный · 6 суток |
| Цифры и строчные буквы | 36 | 82,7 | Очень сильный · 12,4 млн лет |
| Цифры, строчные и прописные | 62 | 95,3 | Очень сильный · 77,3 млрд лет |
| Полный набор со спецсимволами | 86 | 102,8 | Очень сильный · 14 трлн лет |
Рассчитано по методике инструмента «Генератор паролей: длина, набор символов, стойкость».
Как считаем
Энтропия = длина × log2(размер алфавита). Для слогового режима считается иначе: энтропия = слоги × log2(согласные × гласные) + log2(10) за цифру + log2(24) за спецсимвол. Ориентировочное время полного перебора = 2^(биты − 1) ÷ 10^10 секунд: в среднем ключ находится в середине пространства, а 10^10 попыток в секунду — скорость подбора на нескольких видеокартах.
Ограничения и допущения
- Оценка энтропии предполагает равномерный случайный выбор из алфавита. Инструмент гарантирует по одному символу каждого включённого набора, поэтому реальная энтропия чуть ниже расчётной — на длине от 12 символов разница несущественна.
- Время перебора — грубая оценка при 10^10 попыток в секунду. Настоящая скорость зависит от того, как сервис хеширует пароль: MD5 подбирается быстрее, bcrypt или Argon2 — в тысячи раз медленнее.
- Ни один генератор не спасает от повторного использования пароля и от фишинга: уникальный пароль на каждый сервис и менеджер паролей важнее лишних десяти бит.
- Криптостойкость случайности опирается на crypto.getRandomValues — единственный пригодный для паролей источник в браузере. Math.random() для паролей не используется.