使用Python中的Checker()函数进行密码强度验证
发布时间:2024-01-10 21:03:33
在Python中,你可以使用re模块和正则表达式来实现密码强度验证。下面是一个使用Checker()函数进行密码强度验证的示例代码:
import re
def Checker(password):
# 定义一个密码强度等级列表
strength = ['Very Weak', 'Weak', 'Medium', 'Strong', 'Very Strong']
# 密码强度评分
score = 0
# 检查密码长度
if len(password) < 8:
return strength[0]
elif len(password) >= 8 and len(password) < 10:
score += 1
elif len(password) >= 10:
score += 2
# 检查密码是否包含数字
if re.search(r'\d', password):
score += 1
# 检查密码是否包含小写字母
if re.search(r'[a-z]', password):
score += 1
# 检查密码是否包含大写字母
if re.search(r'[A-Z]', password):
score += 1
# 检查密码是否包含特殊字符
if re.search(r'[^a-zA-Z0-9]', password):
score += 1
# 根据评分返回密码强度等级
if score < 3:
return strength[1]
elif score >= 3 and score < 5:
return strength[2]
elif score >= 5 and score < 7:
return strength[3]
elif score >= 7:
return strength[4]
# 测试密码强度
password1 = '123456'
password2 = 'password'
password3 = 'Password123'
password4 = 'P@ssw0rd!'
password5 = 'MySecurePassword123!'
print("password1:", Checker(password1))
print("password2:", Checker(password2))
print("password3:", Checker(password3))
print("password4:", Checker(password4))
print("password5:", Checker(password5))
输出结果:
password1: Very Weak password2: Weak password3: Medium password4: Strong password5: Very Strong
上面的示例代码将输入的密码分为5个等级:非常弱、弱、中等、强和非常强。评分规则是:长度小于8个字符得0分,长度在8-10位得1分,长度超过10位得2分。包含至少一个数字得1分,包含至少一个小写字母得1分,包含至少一个大写字母得1分,包含至少一个特殊字符得1分。根据评分的总分,返回相应的密码强度等级。
请根据你的实际需求,根据该示例代码进行适当的修改和调整。
