A modular, cybersecurity-focused password generator built with Python & PyQt5.
| Feature | Details |
|---|---|
| 4 Generation Modes | Random, Passphrase, Pattern, PIN |
| Entropy Calculation | Shannon entropy in bits per password |
| NIST Strength Meter | Scores 0–100 with labeled tiers |
| Pattern Detection | Flags keyboard walks, repeated chars, common words |
| Password History | Last 50 generated passwords, clearable |
| Bulk Generation | Generate 5 passwords at once |
| Copy to Clipboard | One-click copy with visual feedback |
pip install -r requirements.txt
sudo apt install python3-pyqt5 (for linux)
python main.pypassword_generator/
├── main.py # Entry point
├── generator.py # Password generator
├── analyzer.py # Entropy & strength analysis
├── config.py # Colors, constants, defaults
├── requirements.txt
└── ui/
├── __init__.py
└── main_window.py # PyQt5 UI
- All randomness uses Python's
secretsmodule (CSPRNG, notrandom) - Entropy formula:
H = L × log₂(N)where L=length, N=charset size - NIST SP 800-63B guidelines inform the strength scoring
- Pattern analysis catches common attack vectors (keyboard walks, dictionary words)
- HaveIBeenPwned API integration (breach check)
- Export to encrypted vault file (AES-256)
- Custom wordlist loader (EFF diceware)
- Regex-based policy enforcement
- Time-to-crack estimation (zxcvbn integration)
This project only uses AI for UI building - AI is NOT used for Password Generation Code
Help was taken from Reddit, StackOverflow, Youtube & other Repositories for context, ideas and errors or bugs found along the way


