欢迎访问宙启技术站
智能推送

使用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分。根据评分的总分,返回相应的密码强度等级。

请根据你的实际需求,根据该示例代码进行适当的修改和调整。