Многие веб-сайты сейчас при регистрации показывают «индикатор сложности пароля». Это модная фишка последнего времени, и к тому же действительно полезная. Она заставляет задуматься пользователя о надёжности своего пароля и не даёт вводить слабые комбинации.

Вопрос в том, каким образом сайты определяют сложность пароля? Каждый использует свой алгоритм, и зачастую он неидеален. Например, программа может не учитывать длину пароля, и если вы используете парольную фразу из 40 символов, то она будет считаться якобы не очень хорошим паролем. Такие сайты забракуют «слишком лёгкий» пароль 5133fe36785a6e01cac7a68c9c111afff5bb4821, потому что в нём нет специальных символов или прописных букв, зато примут вместо него Password1, где есть и цифра, и прописная буква. Другие не учитывают близости расположения символов на клавиатуре и пароль вроде qwER43@! признают хорошим.

Разработчик из компании Dropbox Дэн Уилер (Dan Wheeler) решил исправить этот недостаток и разработал максимально реалистичную программу расчёта надёжности пароля zxcvbn, которая к тому же распространяется с открытыми исходниками и доступна для использования на любом сайте.

Программа zxcvbn рассчитывает энтропию пароля с учётом всех возможных паттернов: слова, фамилии, словарь 10000 самых популярных паролей, раскладки QWERTY, Dvorak и кейпада, повторы символов (aaa), последовательности (123456, gfeddcba), годы с 1900 по 2019 и даты в разных форматах. Для всех словарей распознаются символы в верхнем регистре и замены символов в стиле l33t.

Демо-страница zxcvbn

В таблице приведена оценка трёх паролей программой zxcvbn и разными известными сервисами. Пароли для примера взяты из комикса xkcd о величине энтропии парольных фраз по сравнению с обычными паролями.

Оставить мнение