The following Python code demonstrates a password strength checker that evaluates passwords based on pre-set requirements like minimum length, inclusion of digits, and special characters. This script provides feedback indicating the strength of the password along with suggestions for improvement.
Table of Contents
Python Code for Password Strength Checker
Here’s a Python function that checks the strength of a given password and provides user feedback as described:
PYTHON CODE
import re
def check_password_strength(password):
# Length check
length_score = min(len(password) // 8, 3)
# Character diversity check
diversity_score = len(set(password))
# Uppercase, lowercase, digit, and special character check
has_uppercase = bool(re.search(r'[A-Z]', password))
has_lowercase = bool(re.search(r'[a-z]', password))
has_digit = bool(re.search(r'[0-9]', password))
has_special = bool(re.search(r'[!@#$%^&*(),.?":{}|<>]', password))
# Score calculation
score = length_score + diversity_score + has_uppercase + has_lowercase + has_digit + has_special
# Strength determination
if score < 5:
strength = "Weak"
elif score < 8:
strength = "Moderate"
else:
strength = "Strong"
return strength, score
# Test the function
password = input("Enter your password: ")
result, score = check_password_strength(password)
print(f"Your password strength is: {result} (Score: {score})")
OR
import re
def check_password_strength(password):
# Define password strength criteria
min_length = 8
has_digit = bool(re.search(r'\d', password))
has_special_char = bool(re.search(r'[\W_]', password))
# Check password against criteria
if len(password) < min_length:
return "Weak: Password is too short. It must be at least 8 characters long."
elif not has_digit:
return "Moderate: Password length is good, but it needs at least one digit."
elif not has_special_char:
return "Moderate: Password length is good, but it needs at least one special character."
else:
return "Strong: Password meets all requirements for length, digits, and special characters."
Example usage
password = “Secure123!”
feedback = check_password_strength(password)
print(feedback)
How it Works:
- The function `check_password_strength` takes one argument, the `password`, as input.
- Password strength criteria are defined:
- A minimum length of 8 characters.
- At least one digit.
- At least one special character.
- The function uses regular expressions (`re`) to find digits and special characters in the password.
- The password is evaluated against these criteria and based on these checks, the function returns a string that:
- Describes the strength level of the password (Weak, Moderate, Strong).
- Provides specific reasons for the strength rating.
- Suggests improvements if necessary.
Feedback to the User:
The feedback provided to the user is clear and concise. For example:
- If the password is too short, the user is informed that the password is “Weak,” and it must be at least 8 characters long.
- If the password is of an adequate length but lacks digits or special characters, the feedback indicates a “Moderate” strength and advises the addition of missing character types.
- Finally, if the password satisfies all the criteria, the user is praised with a “Strong” strength rating.
By using this script, users get constructive feedback that helps them create stronger and more secure passwords. Additionally, this script can be easily modified to add more criteria or customize the feedback messages. So, it can cater to specific password requirements and enhance user experience. This is just one example of how Python code can be used to improve security measures and provide effective solutions for common problems. With its versatility and ease of use, Python continues to prove itself as a valuable language for various applications. So, whether you are a beginner or an experienced programmer, learning Python can open up a world of possibilities for you. Keep exploring and expanding your skills to harness the power of this versatile programming language!
- Try modifying the code to include more criteria like uppercase letters or consecutive characters.
- Create a GUI (Graphical User Interface) for the password strength checker using a Python library like Tkinter or PyQT.
- Implement this script as part of a larger project that requires secure user authentication.
- Research and learn about other ways to improve password security, like using two-factor authentication or implementing password hashing.
- Explore other applications of Python in the field of cybersecurity, such as network security, malware detection, or data encryption. So much to learn and explore! Keep coding! Happy Learning!
Conclusion:
In conclusion, this Python script provides a simple yet effective solution for checking the strength of passwords and providing feedback to users. With its ease of use and flexibility, Python proves to be a valuable language for various applications, including cybersecurity. By learning and exploring more about this versatile programming language, you can enhance your skills and open up endless possibilities in different areas of technology and beyond. Remember to keep coding, learning, and expanding your knowledge! Happy coding! Endless possibilities await!
References:
- The Python Standard Library: https://docs.python.org/3/library/
- Regular Expressions in Python: https://docs.python.org/3/howto/regex.html
- Tkinter Documentation: https://docs.python.org/3/library/tkinter.html
- PyQT Documentation: https://www.riverbankcomputing.com/static/Docs/PyQt5/
- Two-Factor Authentication in Python: https://github.com/pyotp/pyotp
- Password Hashing in Python: https://pypi.org/project/passlib/
so much to learn.. keep exploring! Happy learning! #HappyCoding!
Leave a Reply