← Все вопросы

Как сделать генератор паролей на Python — мой первый полезный скрипт

Задан 29 месяцев назад530 просмотров2 ответа
6

Хочу сделать программу, которая генерирует случайный пароль нужной длины из букв, цифр и значков. Это реально для новичка? Не понимаю, откуда брать «все буквы и цифры» и как из них собрать случайную строку.

2 ответа

11
✓ Принятый ответ — помог автору

Это идеальный первый полезный проект, и он короче, чем кажется. В Python уже есть готовый набор символов в модуле string:

import random
import string

length = int(input('Длина пароля: '))
alphabet = string.ascii_letters + string.digits + '!@#$%^&*'

password = ''.join(random.choice(alphabet) for _ in range(length))
print(password)

Разбор:

  • string.ascii_letters — это все английские буквы (a-z, A-Z), string.digits — цифры. Складываем в одну строку alphabet.
  • random.choice(alphabet) выбирает один случайный символ.
  • Повторяем length раз и склеиваем через join.

Улучшения потом: гарантировать хотя бы одну цифру и один значок, или сделать выбор «с символами / без». Но для первой версии этого хватит.

5

Важный нюанс, если паролем реально будешь пользоваться: для настоящей безопасности лучше брать secrets.choice вместо random.choice — модуль secrets сделан как раз для паролей и токенов, его сложнее предсказать. Для учебного проекта random ок, но знать про secrets полезно.

Ваш ответ

, чтобы ответить на вопрос.