Python Cyber Security - Check password strength
Write a Python program to check if a password meets the following criteria:
At least 8 characters long and
Contains at least one uppercase letter, one lowercase letter, one digit, and one special character (!, @, #, $, %, or &)
If the password meets the criteria, print a message that says "Valid Password." If it doesn't meet the criteria, print a message that says "Password does not meet requirements."
Sample Solution:
Python Code:
# Solution to Exercise 3
import re
def validate_password(password):
# Check if the password has at least 8 characters
if len(password) < 8:
return False
# Check if the password contains at least one uppercase letter
if not re.search(r'[A-Z]', password):
return False
# Check if the password contains at least one lowercase letter
if not re.search(r'[a-z]', password):
return False
# Check if the password contains at least one digit
if not re.search(r'\d', password):
return False
# Check if the password contains at least one special character
if not re.search(r'[!@#$%^&*(),.?":{}|<>]', password):
return False
# If all the conditions are met, the password is valid
return True
password = input("Input your password: ")
is_valid = validate_password(password)
if is_valid:
print("Valid Password.")
else:
print("Password does not meet requirements.")
Sample Output:
Input your password: Aji1#der Valid Password. Input your password: A123d$%h Valid Password. Input your password: A12&ki1 Password does not meet requirements. Input your password: KI342$&H Password does not meet requirements.
Flowchart:
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Generate random passwords of specified length.
Next: Generate random passwords of specified length.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics