Password Strength Analyzer is a robust, Python-based security tool designed to evaluate password strength using comprehensive criteria. It supports both users and developers in creating and validating secure passwords through industry-standard security checks and detailed feedback.
- ✅ Advanced Length Validation: Ensures password length meets security standards.
- 🔍 Multi-Factor Complexity Analysis: Checks for uppercase, lowercase, numbers, and special characters.
- 🚫 Pattern Recognition & Prevention: Flags common patterns that weaken passwords.
- 📊 Vulnerability Assessment: Compares passwords against known weak or vulnerable lists.
- 💯 Detailed Scoring System: Provides an overall security score.
- 📝 Actionable Security Feedback: Offers specific improvement suggestions.
-
Clone the Repository
git clone https://github.com/yourusername/password-strength-analyzer.git
-
Navigate to Project Directory
cd password-strength-analyzer
-
Install Dependencies
pip install -r requirements.txt
Use the following code snippet to analyze password strength programmatically:
from password_analyzer import PasswordStrengthAnalyzer
# Initialize analyzer
analyzer = PasswordStrengthAnalyzer()
# Analyze password
result = analyzer.analyze_password("YourPassword123!")
# Get results
print(f"Strength Score: {result['score']}/100")
print(f"Feedback: {result['feedback']}")
Analyze a password directly from the command line:
python password_analyzer.py --password "YourPassword123!"
Criterion | Points | Description |
---|---|---|
Length | 20 | Minimum 8 characters |
Complexity | 30 | Mix of character types |
Patterns | 25 | Absence of common patterns |
Dictionary | 25 | Resistance to dictionary attacks |
- 🔴 0-20: Very Weak
- 🟠 21-40: Weak
- 🟡 41-60: Moderate
- 🟢 61-80: Strong
- 🔵 81-100: Very Strong
- Character Complexity
- Uppercase Letters (A-Z)
- Lowercase Letters (a-z)
- Numbers (0-9)
- Special Characters (!@#$%^&*)
- Pattern Detection
- Keyboard Patterns (e.g., qwerty, 12345)
- Repeated Characters
- Sequential Patterns
- Common Word Substitutions
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create your feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature'
- Push to the branch:
git push origin feature/AmazingFeature
- Open a Pull Request for review.