Введение
Пароли являются важной частью защиты нашей информации в сети. Создание крепких и случайных паролей может повысить безопасность наших онлайн аккаунтов. В ходе данной статьи мы напишем программу «Генератор паролей» на языке программирования Python.
Импорт модулей random и string
Для генерации случайных паролей мы будем использовать стандартные модули random и string.
Модуль random предоставляет методы для генерации случайных чисел и выбора случайных элементов из последовательностей.
Модуль string содержит набор полезных констант:
- ascii_letters — возвращает все буквы алфавита в верхнем и нижнем регистрах.
- digits — возвращает все цифры.
- punctuation — возвращает все знаки пунктуации.
Импортируем оба модуля:
import random
import string
Генерация пароля
Для генерации пароля мы создадим функцию, которую назовём generate_password, которая будет принимать длину пароля в качестве аргумента. Внутри функции сначала будут объединяться все символы из ascii_letters, digits и punctuation при помощи метода join(), тем самым создавая нужный нам алфавит:
import random
import string
def generate_password(length):
characters = string.ascii_letters + string.digits + string.punctuation
Далее при помощи генератора будет генерироваться пароль. Метод random.choice() позволяет получать случайный символ из нашего алфавита (characters) во время каждой итерации, тем самым заполняя наш итоговый пароль случайными символами:
import random
import string
def generate_password(length):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
По итогу функция будет возвращать получившийся пароль:
import random
import string
def generate_password(length):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
return password
Запрос длины пароля и вывод результата
Наша функция готова, теперь добавим возможность пользователю ввести желаемую длину пароля:
import random
import string
def generate_password(length):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
return password
password_length = int(input("Введите длину пароля: "))
Далее будет вызываться функция generate_password() с передачей в неё желаемой длины пароля:
import random
import string
def generate_password(length):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
return password
password_length = int(input("Введите длину пароля: "))
password = generate_password(password_length)
В конце будет выводиться пароль:
import random
import string
def generate_password(length):
characters = string.ascii_letters + string.digits + string.punctuation
password = ''.join(random.choice(characters) for _ in range(length))
return password
password_length = int(input("Введите длину пароля: "))
password = generate_password(password_length)
print("Сгенерированный пароль:", password)
Примеры
# Введите длину пароля: 5
# Сгенерированный пароль: ]J)mf
# Введите длину пароля: 10
# Сгенерированный пароль: gF.N$DD2Sc
# Введите длину пароля: 15
# Сгенерированный пароль: -qNmYO3"d^n+5_z
Заключение
В ходе статьи мы с Вами написали программу «Генератор паролей» на языке программирования Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂
Мой курс по Python (50 видоуроков + дополнительные уроки)
Мой Telegram канал
Мой YouTube канал
Курс по созданию телеграм-ботов на Python с фреймворком Aiogram