Python › Module 3 › Lesson 2
Password Generator Script
Generate strong random passwords with Python’s secrets module—not guessable random
Opening
random ≠ secrets
Python’s random module is fine for games. For passwords and tokens, use the secrets module—designed for security. Store results in a password manager, not a group chat.
1. Generate a Strong Password
gen_password.py — copy & runimport secrets import string alphabet = string.ascii_letters + string.digits + "!@#\$%^&*" length = 20 password = "".join(secrets.choice(alphabet) for _ in range(length)) print(password)
import secrets import string alphabet = string.ascii_letters + string.digits + "!@#\$%^&*" length = 20 password = "".join(secrets.choice(alphabet) for _ in range(length)) print(password)
2. Why This Matters
Long random passwords beat clever phrases that hit breach corpora. Unique passwords per site mean one leak does not open everything. Scripts help generate; managers help remember.
Never log passwords
Do not write generators that email plaintext secrets to tickets or Slack by default.
Knowledge Check
For password generation prefer:
Multiple choice
Knowledge Check
True or False: secrets.choice is appropriate for selecting password characters.
True or False
Knowledge Check
Generated passwords should usually be stored in:
Multiple choice