This project is a web-based password strength checker that provides real-time feedback on password strength, including an estimation of how long it would take to crack the password using a brute force attack, along with user-friendly suggestions and educational content. The Web Application UI was created using HTML and CSS with the help of AI
- Real-time password strength evaluation
- Visual strength meter
- Detailed feedback on how to improve password strength
- Estimated time to crack the password
- User-friendly suggestions for password improvement
- Generation of strong password examples
- Educational tooltips on password best practices
- Dark-themed, responsive user interface
The backend is built using Flask, a lightweight Python web framework. Here's how it functions:
-
Password Strength Checking:
- The
check_password_strength()function evaluates the password based on several criteria:- Length
- Presence of uppercase letters
- Presence of lowercase letters
- Presence of numbers
- Presence of special characters
- It assigns a strength rating (Very Weak, Weak, Moderate, Strong, Very Strong) based on these criteria.
- It also generates feedback on how to improve the password.
- The
-
Cracking Time Estimation:
- The
estimate_cracking_time()function calculates an estimated time to crack the password using a brute force attack. - It considers the character set used in the password and the password length.
- The estimation assumes a rate of 1 billion guesses per second.
- The
-
Improvement Tips:
- The
get_password_improvement_tips()function generates specific tips based on what the current password is lacking (e.g., "Add uppercase letters" if there are none).
- The
-
Strong Password Generation:
- The
generate_strong_password()function creates a random strong password as an example for the user.
- The
-
API Endpoint:
- The
/check_passwordroute accepts POST requests with the password. - It returns a JSON response with the strength rating, feedback, estimated cracking time, improvement tips, and a strong password suggestion.
- The