Насколько надежны ваши пароли? Вдруг они не так хороши, как вы считаете?
Пароль – это главный барьер, который мешает злоумышленникам получить ваши данные в сети. Чтобы не подвергать риску кражи данных, нужно создавать пароли, которые могут помешать хакерам.
Напомним, каким основным инструментарием владеют злоумышленники:
Перебор по словарю (автоматическая комбинация слов из словаря часто используемых словосочетаний),
Данные из социальной сети или любая другая информация, раскрытая вами (часто пользователи в качестве паролей выбирают различные комбинации имен, дат, кличек животных и т.д.),
- Брутфорс-атака (автоматический перебор всех возможных комбинаций символов до тех пор, пока не найдется пароль),
- И т.д.
Подробнее остановимся на последнем.
У брутфорс-алгоритмов вызывает трудности работа с длинными паролями, а вот короткие чаще всего можно подобрать за несколько часов!
Чтобы проверить насколько надежен пароль, предлагаем вам небольшую простую программу на python, которую легко можно самостоятельно улучшить.
Для работы программы нам понадобится библиотека re.
Создаем функцию с двумя входными параметрами – паролем и печатью (необходимостью подробной печати по каждому из тестов). Также изначально объявляем основную переменную результата – rs.
Пароль длины меньше 8 считается слабым (-10), обычный пароль имеет длину от 8 до 12 символов (+1), а хороший пароль имеет длину от 12 символов (+2).
С помощью регулярных выражений мы можем проверить наличие в пароле строчных латинских букв – если они есть, то плюс 1 балл, если нет, то минус 1 балл.
По аналогии с предыдущим фрагментом, делаем заглавную латиницу, строчную и заглавную кириллицу.
Далее проверяем наличие в пароле цифр, оценивая их также – если есть, то плюс один балл, если нет, то минус один балл.
Теперь проверяем наличие в пароле специальных символов (сам набор спецсимволов можно расширить самостоятельно при необходимости).
Также нам необходимо проверить количество уникальных символов, используемых в пароле.
Наконец, после всех вычислений, получаем итоговый результат.
Посмотрим результат на паре примеров:
1. password_stregth('Password', 1)
2. password_stregth('! S5w0rD', 1)
Следует помнить, что надежный пароль должен всегда отвечать «да» на следующий ряд вопросов:
Ваш пароль длинный?
В пароле используются разнообразные символ?
Также пароль можно улучшить неочевидными подстановками символов, избеганием простых последовательностей и т.д. Да, парой бывает, что пароль трудно запомнить, но что для вас важнее: небольшая трудность или свои данные?