A command-line Python application that evaluates password strength using practical security rules and provides clear, human-readable feedback to help users create stronger passwords.
Weak and predictable passwords are a major security risk.
Most tools only label passwords as “weak” or “strong” without explaining why.
This project analyzes passwords based on length, character variety, and predictability, assigns a transparent strength score, and explains how the password can be improved.
- Password strength scoring on a 0–100 scale
- Detection of repeated characters and sequential patterns
- Analysis of character variety (uppercase, lowercase, digits, special characters)
- Clear, actionable feedback for improving password security
- Modular and maintainable Python codebase
-
Analyzer Module
Extracts password features such as length, character composition, and predictability patterns. -
Scoring Module
Calculates a strength score using rule-based logic and applies penalties for weak patterns. -
Suggestions Module
Generates human-readable feedback to guide users toward stronger passwords.
Each component is isolated to ensure clean separation of concerns and easy extensibility.
project/
├── main.py
├── password_checker/
│ ├── analyzer.py
│ ├── scorer.py
│ └── suggestions.py
|
├── .gitignore
└── README.md
Ensure Python 3 is installed.
bash
python main.py
Enter a password when prompted to receive a strength score and improvement suggestions.
Score : 70 / 100 Strength : Strong
Feedback:
- Great job! Your password is strong.
- Rule-based scoring was chosen to ensure transparency and explainability.
- Modular architecture improves readability and maintainability.
- Feedback is user-focused rather than technical.
- Python
- Python Standard Library
- Modular Programming
- Command-Line Interface (CLI)