Только буквы и цифры — для сервисов, которые не принимают !, @, # и другие спецсимволы. Восстанавливаем «утерянные» биты энтропии за счёт увеличения длины: 20 символов без спецсимволов сильнее, чем 16 со спецсимволами.
Отсканируйте для передачи пароля на другое устройство
Парадоксально, но многие крупные сервисы до сих пор не принимают спецсимволы в паролях. Российские госуслуги исторически имели проблемы с ! в начале пароля; некоторые банки (особенно интегрированные с устаревшими бэк-системами) ограничивают набор только буквами и цифрами; медицинские системы вроде MIS и LIS работают с алфавитно-цифровыми паролями, чтобы избежать конфликтов при импорте-экспорте данных в CSV; кассовые системы и POS-терминалы часто требуют чистый набор.
Корпоративные системы на основе SAP, 1C и устаревших ERP нередко требуют пароль без спецсимволов из-за интеграций со старыми компонентами, где спецсимволы создают конфликты в SQL-запросах. Внешние API-системы могут ограничивать набор для совместимости с устаревшими клиентами.
Полный алфавит — заглавные, строчные, цифры, спецсимволы — даёт 95 уникальных символов. Без спецсимволов остаётся 62 символа (26 + 26 + 10). Это означает потерю около 8 бит энтропии при той же длине пароля.
В абсолютных числах: 16-символьный пароль со спецсимволами имеет энтропию ~105 бит; 16-символьный без них — ~95 бит. Разница в 1024 раза по сложности перебора. Это значительная разница, но не катастрофа — 95 бит всё ещё за пределами реалистичных атак.
Простой способ восстановить «утерянные» биты — увеличить длину. Каждые два символа без спецсимволов дают примерно столько же энтропии, сколько один символ из полного алфавита. То есть переход с 16 на 20 символов компенсирует отсутствие спецсимволов с запасом.
Практическая рекомендация: если сервис не принимает спецсимволы, генерируйте пароль на 4 символа длиннее, чем обычно. Вместо стандартных 16 — 20. Вместо 12 — 16. Это даёт паритет с «полноалфавитным» паролем и оставляет небольшой запас прочности.
Видно, что 20 символов без спецсимволов уже превосходят 16 со спецсимволами. 24 — выходят на уровень, неотличимый от полного алфавита для практической атаки.
Перед генерацией пароля убедитесь, что сервис принимает заглавные и строчные буквы вместе с цифрами. Некоторые системы дополнительно требуют наличия как минимум одной заглавной и одной цифры — наш генератор гарантирует, что в выводе будет как минимум по одному символу каждого включённого класса.