-
Notifications
You must be signed in to change notification settings - Fork 0
/
passcomplixtychecker.py
36 lines (28 loc) · 1.06 KB
/
passcomplixtychecker.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import re
def password_complexity_checker(password):
# Check length
length_score = len(password) >= 8
# Check for uppercase letters
uppercase_score = bool(re.search(r'[A-Z]', password))
# Check for lowercase letters
lowercase_score = bool(re.search(r'[a-z]', password))
# Check for numbers
number_score = bool(re.search(r'[0-9]', password))
# Check for special characters
special_char_score = bool(re.search(r'[!@#$%^&*(),.?":{}|<>]', password))
# Calculate total score
total_score = length_score + uppercase_score + lowercase_score + number_score + special_char_score
# Provide feedback based on total score
if total_score == 5:
return "Strong password"
elif total_score >= 3:
return "Good password"
else:
return "Weak password"
while True:
password = input("Enter your password (or 'e' to exit): ")
if password.lower() == 'e':
print("Exiting password checker.")
break
strength = password_complexity_checker(password)
print(f"Password strength: {strength}")