Password generation powered entirely by Python's secrets module via a Flask web server.
**Made with ❤️ by Ayush Kumar Singh
Area: Password Management
Problem: Users create weak and predictable passwords repeatedly.
Solution: SecurePass generates cryptographically secure passwords server-side using Python's secrets module — far stronger than Math.random() in JavaScript.
SecurePass/
│
├── app.py ← Flask app + ALL password logic (Python)
├── requirements.txt ← Python dependencies
├── README.md
├── templates/
│ └── index.html ← Jinja2 template (UI + fetch calls to Flask)
└── screenshots/ ← App screenshots
| Feature | JavaScript Math.random() |
Python secrets module |
|---|---|---|
| Randomness | Pseudo-random (predictable) | Cryptographically secure |
| Security | ❌ Not safe for passwords | ✅ Designed for security |
| Backend control | Client-side only | Full server-side logic |
- ⚡ Cryptographically secure generation via
secrets.choice() - 📏 Length control: 8–32 characters
- 🔠 Uppercase, Lowercase, Numbers, Symbols toggle
- 🚫 Exclude ambiguous characters (l, 1, O, 0)
- 📊 Server-side strength analyser (score 0–100)
- 📋 One-click copy to clipboard
- 🔁 Batch generation: 1, 3, 5, or 10 passwords
- 🔍 Real-time password strength checker
- 💡 Cybersecurity awareness tips panel
| Layer | Technology |
|---|---|
| Backend | Python 3 + Flask |
| Password Generation | secrets module (cryptographically secure) |
| Strength Analysis | Pure Python logic |
| Template Engine | Jinja2 |
| Frontend | HTML5 + CSS3 (inline) |
| API | JSON REST (/generate, /check) |
# 1. Clone the repository
git clone https://github.com/Ayush-2703/SecurePass.git
cd SecurePass
# 2. Install dependencies
pip install -r requirements.txt
# 3. Run the Flask app
python app.py
# 4. Open in browser
# http://127.0.0.1:5000// Request
{
"length": 16,
"uppercase": true,
"lowercase": true,
"numbers": true,
"symbols": true,
"no_repeat": false,
"exclude_ambiguous": false,
"count": 3
}
// Response
{
"passwords": [
{ "password": "X9#mK2$vQp", "strength": { "label": "Very Strong", "percent": 88, ... } }
]
}// Request → { "password": "mypassword" }
// Response → { "label": "Weak", "percent": 20, "score": 18, "criteria": {...} }- Deploy to Render / Railway (free Python hosting)
- Password breach checker (HaveIBeenPwned API)
- Encrypted session vault
- Mobile app with Flask API backend