РЕПО ГИТХАБ | СЛЕДУЙ ЗА МНОЙ -› TWITTER | ЛИНКЕДИН

Создайте свой собственный генератор случайных паролей с помощью Python: проект для начинающих

Вы устали от использования слабых паролей, которые вредят вашим учетным записям? Всего несколько строк кода, и Генератор случайных паролей Python поможет вам создать надежный и безопасный пароль. Мы шаг за шагом проведем вас через код и научим вас, как изменить свой пароль, решив, сколько букв, цифр и символов добавить. Давайте начнем!

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

Пошаговое объяснение кода

Прежде чем мы начнем, вам нужно убедиться, что Python установлен на вашем компьютере. После этого откройте свой любимый текстовый редактор и создайте новый файл Python с именем password_generator.py.

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

import random

letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']

После того, как наши списки настроены, мы можем начать генерировать пароль на основе ввода пользователя. Мы будем использовать функцию input(), чтобы предложить пользователю выбрать один из четырех вариантов:

  1. Только буквы и цифры
  2. Только буквы и символы
  3. Только цифры и символы
  4. Буквы, цифры и символы
print("\nWelcome to my Random Password Generator!")
choice = int(input('There are 4 types of combinations to have in your password.\n1. Type 1 for "Only Letters and Numbers"\n2. Type 2 for "Only Letters and Symbol"\n3. Type 3 for "Only Numbers and Symbol"\n4. Type 4 for "Letters, Numbers and Symbol"\nWhich combination you want? : '))

В зависимости от выбора пользователя мы предложим ему ввести количество букв, цифр и символов, которые они хотят включить в свой пароль. Используя цикл for и функцию random.randint(), мы случайным образом генерируем пароль с желаемым количеством символов каждого типа.

Введено пользователем 1 (Только буквы и цифры)

if choice == 1:
    nr_letters= int(input("\nHow many letters would you like in your password?\n"))
    nr_numbers = int(input("\nHow many numbers would you like?\n"))

    for n in range(0, nr_letters):
        password += letters[random.randint(0, len(letters)-1)]
        
    for n in range(0, nr_numbers):
        password += numbers[random.randint(0, len(numbers)-1)]

Пользовательский ввод 2 (только буквы и символы)

elif choice == 2:
    nr_letters= int(input("\nHow many letters would you like in your password?\n"))
    nr_symbols = int(input("\nHow many symbols would you like?\n"))

    for n in range(0, nr_letters):
        password += letters[random.randint(0, len(letters)-1)]
        
    for n in range(0, nr_symbols):
        password += symbols[random.randint(0, len(symbols)-1)]

Пользовательский ввод 3 (только цифры и символы)

elif choice == 3:
    nr_numbers = int(input("\nHow many numbers would you like?\n"))
    nr_symbols = int(input("\nHow many symbols would you like?\n"))

    for n in range(0, nr_numbers):
        password += numbers[random.randint(0, len(numbers)-1)]
        
    for n in range(0, nr_symbols):
        password += symbols[random.randint(0, len(symbols)-1)]

Пользовательский ввод 4 (буквы, цифры и символы)

elif choice == 4:
    nr_letters= int(input("\nHow many letters would you like in your password?\n"))
    nr_numbers = int(input("\nHow many numbers would you like?\n"))
    nr_symbols = int(input("\nHow many symbols would you like?\n"))

    for n in range(0, nr_letters):
        password += letters[random.randint(0, len(letters)-1)]
        
    for n in range(0, nr_numbers):
        password += numbers[random.randint(0, len(numbers)-1)]
        
    for n in range(0, nr_symbols):
        password += symbols[random.randint(0, len(symbols)-1)] 

Набрано пользователем, кроме (1–4)

else:
    print("\nYou typed a wrong number. Please TRY AGIAN!")
    exit()

Наконец, мы проверяем, содержит ли пароль не менее 8 символов, и перемешиваем символы, чтобы создать более надежный пароль. Если нет, то мы попросим пользователя повторить попытку для пароля длиной 8 символов.

print(f"\nTotal character of your password is: {len(password)}")
if len(password) >= 8:
    password = ''.join(random.sample(password, len(password)))
    print(f"Your password is: {password}")
    print("Congratulations for generating a STRONG password!")    
else:
    print("\nIt's highly recommended to have atleast 8 characters in your password to have a stronger password. Please TRY AGIAN!")

Вот полный код.

Тестовый вывод

Функции

Возможности программы

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

Используемые концепции и методы Python

  • Списки: мы определяем три списка символов (буквы, цифры и символы), которые можно использовать в пароле.
  • Случайный модуль: мы импортируем модуль random для случайной генерации пароля.
  • Поток управления: мы используем операторы if-elif-else для определения типа комбинации пароля и количества символов каждого типа.
  • Циклы: мы используем циклы for для случайной генерации символов пароля.
  • Операции со строками: мы используем функцию join() для перемешивания символов пароля.

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

Эта статья является частью моего журнала Python Project Journal. Чтобы узнать больше о моем путешествии по изучению Python и увидеть другие мои проекты, ознакомьтесь с этим журналом проектов. Спасибо!