Password Strength Checker
A beginner-friendly Python tool for analyzing password security strength and providing actionable recommendations.
Table of Contents
About Features Getting Started Usage Example Output Technical Details Contributing Contact
About This project was developed as part of my cybersecurity learning journey. It demonstrates the practical application of Python programming concepts and security principles through a user-friendly password analysis tool. Key Learning Objectives:
Python programming fundamentals Security-focused software development User interface design Input validation and error handling Technical documentation
Features
Comprehensive Analysis: Checks length, character types, and composition Scoring System: 0-100 scale with clear strength levels Smart Recommendations: Specific advice for password improvement Security-First: No password storage or logging Beginner-Friendly: Clear code structure and extensive comments Interactive Interface: Menu-driven command-line experience
Getting Started Prerequisites
Python 3.7 or higher No additional libraries are required (uses only built-in Python modules)
Installation
Clone the repository bash git clone https://github.com/techdre/password-strength-checker.git cd password-strength-checker
Run the program bash python simple_password_checker.py
That's it! You don't need to do any additional setup. 💻 Usage Basic Usage: bash python simple_password_checker.py Menu Options
Check a password - Analyze password strength Learn about password security - View security tips Exit - Close the program
Command Line Tips
Your password input is visible (this is the beginner version) The program never stores or logs your passwords Use Ctrl+C to exit at any time
Password: ******** (hidden for security) Length: 12 characters
✓ Length (8+ characters): PASS
✓ Uppercase letters: PASS
✓ Lowercase letters: PASS
✓ Numbers: PASS
✗ Special characters: FAIL
OVERALL SCORE: 80/100 STRENGTH LEVEL: Very Strong
- Add special characters (!, @, #, etc.) ================================================== Technical Details Password Requirements Checked
Length: Minimum 8 characters (recommended 12+) Uppercase Letters: A-Z Lowercase Letters: a-z Numbers: 0-9 Special Characters: !@#$%^&*()_+-=[]{}|;:,.<>?
Scoring Algorithm Each requirement contributes 20 points to the total score:
Length requirement: 20 points Uppercase letters: 20 points Lowercase letters: 20 points Numbers: 20 points Special characters: 20 points
Strength Levels
Very Strong: 80-100 points Strong: 60-79 points Moderate: 40-59 points Weak: 20-39 points Very Weak: 0-19 points
Code Structure Python # Main functions check_password_length() # Validates minimum length check_uppercase_letters() # Detects A-Z characters check_lowercase_letters() # Detects a-z characters check_numbers() # Detects 0-9 characters check_special_characters() # Detects special symbols calculate_password_score() # Computes overall score analyze_password() # Orchestrates analysis Future Enhancements
Add regular expressions for advanced pattern detection Implement secure password input (hidden typing) Add dictionary attack simulation Include the entropy calculation Create a GUI version Add a password generation feature Integration with breach databases
Contributing This is a learning project, but suggestions and improvements are welcome!
Fork the repository Create a feature branch (git checkout -b feature/improvement) Commit your changes (git commit -am 'Add new feature') Push to the branch (git push origin feature/improvement) Create a Pull Request
Acknowledgments
Inspired by cybersecurity best practices Built as part of my professional development journey Thanks to the Python community for excellent documentation
⭐ If you found this project helpful, please give it a star! ⭐