A Python application that helps you assess the strength of your passwords.
It combines entropy calculation, character variety checks, and the HaveIBeenPwned API to see if your password has been leaked.
All of this comes together in a simple Tkinter GUI for interactive use 💻✨.
- ✅ Password length validation (minimum 12 characters)
- ✅ Character variety check (lowercase, uppercase, numbers, special symbols)
- ✅ Entropy calculation to measure password strength
- ✅ Check if the password has been exposed in data breaches via the HaveIBeenPwned API
- ✅ Simple Tkinter GUI for easy interaction
- User Input: Type your password into the GUI.
- Password Object: Your input is wrapped in the
Passwordclass. - Validation: The program checks:
- Minimum length requirement
- Character variety (lowercase, uppercase, digits, symbols)
- Entropy Calculation: Determines password strength using Shannon entropy.
- Pwned Check: Verifies if the password exists in known breaches.
- Result Display: Shows results in a popup window with all findings.
- Clone the repository:
git clone https://github.com/aminuzz/Password-Strength-Checker.git- Navigate into the project folder:
cd Password-Strength-Checker- Run the application:
python gui.pyType your password in the GUI, click Submit, and view your results in the popup!
password-checker/
├── gui.py # Tkinter GUI and main entry point
├── password_logic.py # Password class with validation and API checks
├── README.md # Project documentation
- This project is for educational purposes and demonstrates Python, OOP, and GUI skills.
- Passwords are not stored; the HaveIBeenPwned API only receives a hashed prefix for safety.
- Internet connection is required for the password breach check.
- Password requirements are displayed in the GUI while typing.
This content is for educational purposes only. The HaveIBeenPwned API is used to illustrate password security. All credit for the HaveIBeenPwned service goes to Troy Hunt and his team.
This project is licensed under the MIT License.