用户输入一个字符串做为密码,可以包含大写字母、小写字母、数字和特殊字符4类字符。判断密码强度,规则为:密码长度小于8弱密码,密码长度大于等于8且包含至少2种字符为中等强度、密码包含3种字符为强、包含全部4种字符为极强。提示: string.digits 可返回 0123456789 string.ascii_lowercase 可返回 abcdefghijklmnopqrstuvwxyz string.ascii_uppercase 可返回ABCDEFGHIJKLMNOPQRSTUVWXYZ 测试结果 string-punctuation 可返回 !”#$%&\"()*+,-./;;<=>?@[\\]^_ ()~ 测试集1 编程要求 测试集2 根据提示,在右侧编辑器补充代码,判断密码强度并输出
时间: 2023-05-19 21:03:24 浏览: 133
判断用户输入的密码强度
5星 · 资源好评率100%
# 以下是Python代码实现:
import string
def check_password_strength(password):
"""
判断密码强度
"""
# 定义4个变量,分别表示4类字符是否出现过
has_uppercase = False
has_lowercase = False
has_digit = False
has_special = False
# 遍历密码中的每个字符,判断其属于哪一类字符
for char in password:
if char in string.ascii_uppercase:
has_uppercase = True
elif char in string.ascii_lowercase:
has_lowercase = True
elif char in string.digits:
has_digit = True
elif char in string.punctuation:
has_special = True
# 根据不同的条件判断密码强度
if len(password) < 8:
return "弱"
elif len(password) >= 8 and (has_uppercase + has_lowercase + has_digit + has_special) >= 2:
if (has_uppercase + has_lowercase + has_digit + has_special) == 2:
return "中等"
elif (has_uppercase + has_lowercase + has_digit + has_special) == 3:
return "强"
else:
return "极强"
else:
return "弱"
# 测试代码
password = input("请输入密码:")
strength = check_password_strength(password)
print("密码强度为:", strength)
阅读全文