🔐 PassGuardian: Smart Password Evaluator
PassGuardian is a smart, terminal-based password strength evaluator that helps you create and test strong, secure passwords in real time. It combines entropy analysis, breach detection, actionable feedback, and an optional password generator — all with a colorful, polished CLI experience.
🚀 Features
- 🧠 Entropy-based Strength Scoring
- 🔥 Real-time Breach Check via HaveIBeenPwned API
- 💡 Smart Feedback with improvement tips
- 🔁 Interactive Password Generator
- 🎨 Colorful CLI UI powered by
rich - 🔐 Built with Security Best Practices
🛠 Tech Stack
- Python 3
rich(for colorful CLI output)requests(for HIBP breach API)- Regex & logic-based password scoring
- Optional: HIBP Pwned Passwords API
⚙️ How to Run
1. Clone the Repository
git clone https://github.com/nv2105/PassGuardian.git
cd PassGuardian
2. Set Up Virtual Environment
python -m venv .venv
source .venv/Scripts/activate # On Windows
# Or: source .venv/bin/activate # On Mac/Linux
3. Install Dependencies
pip install -r requirements.txt
4. Run the CLI App
python main.py
📸 Sample Output
🧠 Estimated Entropy: 83.36 bits
✅ No known breaches found for this password.
╭──────────── Result ────────────╮
│ 🔒 Password Strength: Strong! │
╰───────────────────────────────╯
💡 Tips to Improve:
- Add at least one special character
- Avoid common patterns like '123', 'password'
📂 Project Structure
PassGuardian/
├── passguardian/
│ ├── evaluator.py
│ ├── breaches.py
│ ├── entropy.py
│ ├── generator.py
│ └── __init__.py
├── main.py
├── requirements.txt
├── .gitignore
└── README.md
📌 Author
Naman Vora
Final Year CSE | Aspiring Data Analyst
Github | LinkedIn
📄 License
Metadata
Release files for passguardian 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| passguardian-1.0.0.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| passguardian-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.5 kB
Release files / passguardian-1.0.0.tar.gz
| Download URL | passguardian-1.0.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f0a691f250ecc0794c823047121617908e15782fe89931969d85561fa6e3e3f2
|
|
BLAKE2b-256 checksum How to use checksums |
61677bdcb18c9f10fdf09a4996ba6c0d0cd011ab1d418eb273d5e31ed94eff89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.6
|
Release files / passguardian-1.0.0-py3-none-any.whl
| Download URL | passguardian-1.0.0-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba4dfda4c6d5afe59f67586f6292c1a8e5a4d3f59ccc07bd69ea3de6a20f8601
|
|
BLAKE2b-256 checksum How to use checksums |
0727e38b8b6e8dc38992e19c22d327cc5a6d2bcb43eab6e388eb37b8d63371fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.6
|