Add a script that scores how strong a password is and says what's missing.
Why
Best introduction to the re module there is, because every rule is one pattern. It also pairs with the password generator in #7 — generate one, then score it.
Suggested file
scripts/password_strength_checker.py
What it should do
- Usage:
python scripts/password_strength_checker.py then type a password (or pass it as an argument).
- Check: length ≥ 12, lowercase, uppercase, digit, symbol, no common sequences (
1234, abcd, qwerty), not in a small built-in list of very common passwords.
- Print a score out of 5, a verdict (Weak / Fair / Strong), and a bullet list of what's missing.
Acceptance criteria
Inspiration
Password_Strength-checker from Awesome-Python-Scripts.
Good first issue — comment below to get assigned.
Add a script that scores how strong a password is and says what's missing.
Why
Best introduction to the
remodule there is, because every rule is one pattern. It also pairs with the password generator in #7 — generate one, then score it.Suggested file
scripts/password_strength_checker.pyWhat it should do
python scripts/password_strength_checker.pythen type a password (or pass it as an argument).1234,abcd,qwerty), not in a small built-in list of very common passwords.Acceptance criteria
(regex, message)pairs looped over — not five copy-pastedifblocks.re,argparse,getpass).getpass.getpass()for interactive input so the password isn't echoed or stored in shell history.assert-based self-check proving a known weak password scores low and a known strong one scores high.Inspiration
Password_Strength-checker from Awesome-Python-Scripts.
Good first issue — comment below to get assigned.