A Python tool that estimates how long it would take to brute-force a given password based on its complexity and length.
Perfect for understanding password strength and learning how attackers might approach cracking them.
- Estimates brute-force cracking time based on:
- Password length
- Character types used (lowercase, uppercase, digits, symbols)
- Outputs time in a human-readable format
- Assumes a powerful attacker making 1 billion guesses per second
- Lightweight and easy to use (standard library only)
- Analyzes the characters in your password to determine the possible character set.
- Calculates total combinations using
charset_size ^ password_length
. - Divides by a fixed guess rate (1 billion/sec) to estimate cracking time.
- Converts the result into seconds, minutes, hours, days, or years.
-
Clone the repository:
git clone https://github.com/harshit-425/password-crack-time-estimator.git cd password-crack-time-estimator
-
Ensure you have Python 3 installed.
-
(Optional): Create a virtual environment and install any dependencies (this script uses only the standard library).
Run the script:
python password_crack_time_estimator.py
When prompted, enter a password:
Enter your password: S3cur3!Passw0rd
Estimated time to brute-force/crack your password: 5.32 billion years
Password | Estimated Crack Time |
---|---|
123456 |
0.00 seconds |
P@ssw0rd |
11.61 years |
F!r3Dr@g0n2025 |
5.12 billion years |
This tool provides a theoretical estimate of brute-force cracking time. It does not account for:
- Dictionary or rainbow table attacks
- Password reuse from breaches
- Advanced cracking techniques
Always use strong, unique passwords and enable two-factor authentication (2FA).
Licensed under the MIT License — free to use, modify, and share.
Pull requests, issues, and feature suggestions are welcome!
Harshit Agrawal
Made with Python and a passion for cybersecurity.