В цьому підручнику ви дізнаєтесь, як створити простий генератор випадкових паролів за допомогою Python. Ми розглянемо код крок за кроком і пояснимо, як він працює. Наприкінці ви матимете інструмент для створення безпечних, випадкових паролів для своїх потреб.
Попередні вимоги
Перед початком переконайтесь, що на вашому комп'ютері встановлений Python. Якщо ні, ви можете завантажити його з python.org.
Крок 1: Імпортуємо необхідні бібліотеки
Python має вбудовану бібліотеку під назвою random
, яку ми використаємо для генерування випадкових символів для нашого пароля. Ось як її імпортувати:
import random
Крок 2: Налаштування списків символів
Щоб створити пароль, нам потрібно мати набір символів.
Ми будемо використовувати три типи символів:
- Літери (великі та малі)
- Цифри (0–9)
- Символи (наприклад,
!
,#
,$
тощо)
Ось код для визначення цих наборів символів:
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 = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']
Крок 3: Запитуємо користувача про кількість символів
Ми запитаємо в користувача, скільки літер, символів і цифр він хоче бачити в своєму паролі.
Для цього ми використовуємо функцію input
:
letters_count = int(input("Скільки літер?"))
symbol_count = int(input("Скільки символів?"))
number_count = int(input("Скільки цифр?"))
Крок 4: Генерація пароля
Тепер ми згенеруємо пароль, випадковим чином вибираючи символи з відповідних списків на основі введених користувачем даних. Ось код:
password = ""
for _ in range(letters_count):
password += random.choice(letters)for _ in range(symbol_count):
password += random.choice(symbols)for _ in range(number_count):
password += random.choice(numbers)
На цьому етапі пароль є простою конкатенацією всіх вибраних символів, але ще не перемішаним.
Крок 5: Перемішування пароля
Щоб зробити пароль більш безпечним, ми випадковим чином перемішуємо символи за допомогою random.shuffle
.
Це гарантує, що пароль не буде слідувати жодному передбачуваному шаблону.
password_done = list(password)
random.shuffle(password_done)
final_password = "".join(password_done)
Крок 6: Виведення пароля
Нарешті, ми виводимо згенерований пароль:
print(final_password)
Повний код
Ось повний код для генератора паролів:
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 = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']letters_count = int(input("Скільки літер?"))
symbol_count = int(input("Скільки символів?"))
number_count = int(input("Скільки цифр?"))password = ""for _ in range(letters_count):
password += random.choice(letters)for _ in range(symbol_count):
password += random.choice(symbols)for _ in range(number_count):
password += random.choice(numbers)password_done = list(password)
random.shuffle(password_done)final_password = "".join(password_done)print(final_password)
Висновок
Вітаємо! Ви створили повністю функціональний генератор випадкових паролів на Python.
Ця програма є простою, але потужною, і є чудовим способом вивчити списки, цикли та випадкове вибирання (randomization) у Python. Спробуйте налаштувати її ще більше під ваші потреби, наприклад, додавши нові типи символів або обмеження по довжині. Успіхів у програмуванні!
Перекладено з: How to Create a Random Password Generator in Python