«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Создание средства проверки надежности пароля на Python

Создание средства проверки надежности пароля на Python

Опубликовано 1 ноября 2024 г.
Просматривать:459

Еще раз здравствуйте и добро пожаловать на сегодняшний урок. Сегодня мы собираемся создать простую программу проверки надежности пароля с использованием Python. Мы шаг за шагом объясним, как работает код, и дадим советы, как улучшить ваши пароли.

Почему важна надежность пароля?

Слабый пароль позволяет хакерам подобрать или взломать его различными методами, подвергая риску вашу личную информацию. Надежный пароль:

  • Достаточно долго (не менее 12 символов)
  • Использует сочетание букв (как прописных, так и строчных), цифр и специальных символов
  • Избегает общих или предсказуемых слов

Давайте начнем с создания инструмента, который оценивает надежность пароля на основе этих правил.

Настройка вашей среды

Прежде чем мы начнем программировать, убедитесь, что на вашем компьютере установлен Python.

Создайте новый файл Python, в котором вы будете писать свой код. Кроме того, загрузите этот файл, содержащий наиболее распространенные пароли (мы рассмотрим это подробнее позже) и сохраните его в том же каталоге, что и ваш файл Python для этого проекта.

Импортировать необходимые библиотеки

import string

Модуль string предоставляет полезные константы для проверки типов символов, таких как прописные буквы, цифры и специальные символы.

Проверьте общие пароли

def check_common_password(password):
    with open('common-password.txt', 'r') as f:
        common = f.read().splitlines()
    if password in common:
        return True
    return False

Эта функция проверяет, находится ли данный пароль в списке общих паролей.

  • Откроется файл с именем «common-password.txt», который мы скачали ранее.
  • Он считывает все пароли из этого файла в список.
  • Если входной пароль находится в этом списке, он возвращает True (это означает, что это общий и, следовательно, слабый пароль).
  • В противном случае возвращается False.

Почему это важно? Многие хакеры начинают с проверки общих паролей, поэтому использование одного из них делает вашу учетную запись очень уязвимой.

Оцените надежность пароля

def password_strength(password):
    score = 0
    length = len(password)

    upper_case = any(c.isupper() for c in password)
    lower_case = any(c.islower() for c in password)
    special = any(c in string.punctuation for c in password)
    digits = any(c.isdigit() for c in password)

    characters = [upper_case, lower_case, special, digits]

    if length > 8:
        score  = 1
    if length > 12:
        score  = 1
    if length > 17:
        score  = 1
    if length > 20:
        score  = 1

    score  = sum(characters) - 1

    if score 



Эта функция оценивает надежность пароля на основе нескольких критериев.

  • Пароль получает баллы за длину более 8, 12, 17 и 20 символов.
  • Проверяется наличие прописных и строчных букв, специальных символов и цифр.

Как работает подсчет очков?

  1. Начинается с 0 баллов.
  2. За каждый пройденный порог длины добавляется 1 балл.
  3. За каждый тип используемых символов (прописные, строчные, специальные, цифры) добавляется 1 балл, минус 1.
  4. На основании итогового балла пароль классифицируется как «Слабый», «Хороший», «Хороший» или «Сильный».

Оставить отзыв Пользователю

def feedback(password):
    if check_common_password(password):
        return "Password was found in a common list. Score: 0/7"

    strength, score = password_strength(password)

    feedback = f"Password strength: {strength} (Score: {score}/7)\n"

    if score 



Эта функция объединяет две предыдущие функции для предоставления исчерпывающей обратной связи.

  • Сначала он проверяет, является ли пароль общим. Если это так, он немедленно возвращает предупреждение.
  • Если пароль не является распространенным, оценивается его надежность.
  • Он предоставляет рейтинг силы и оценку.
  • Если пароль слабый (оценка

Основная программа

password = input("Enter the password: ")
print(feedback(password))

Последняя часть просто просит пользователя ввести пароль, а затем распечатывает отзыв.

Программа в действии

Building a Password Strength Checker in Python

Заключение

Создание надежных паролей является важной частью обеспечения безопасности в Интернете, и с помощью этого инструмента вы можете легко оценить, насколько безопасны ваши пароли. Эта простая программа демонстрирует, как базовое программирование на Python можно объединить с принципами кибербезопасности для решения реальной проблемы.

Не стесняйтесь экспериментировать с кодом и добавлять новые функции.

Удачного программирования и будьте в безопасности!

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/immah/building-a-password-strength-checker-in-python-47om?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3