用python写:用户输人一个字符串作为密码,判断密码强度,规则为,密码长度小于8为弱密码,密码长度大于等于8且包含至少2种字符为中等强度,密码包含3种字符为强,包含全部4种字符为极强
时间: 2024-02-05 12:04:32 浏览: 79
好的,可以用以下代码实现:
```python
password = input("请输入密码:")
strength = 0
if len(password) < 8:
strength = 1 # 弱密码
else:
# 判断密码中包含了哪些字符种类
has_lower = False
has_upper = False
has_digit = False
has_symbol = False
for c in password:
if c.islower():
has_lower = True
elif c.isupper():
has_upper = True
elif c.isdigit():
has_digit = True
else:
has_symbol = True
# 根据包含字符种类的数量来判断密码强度
if has_lower + has_upper + has_digit + has_symbol >= 3:
strength = 3 # 强密码
elif has_lower + has_upper + has_digit + has_symbol == 2:
strength = 2 # 中等强度密码
else:
strength = 1 # 弱密码
# 输出密码强度
if strength == 1:
print("密码强度:弱")
elif strength == 2:
print("密码强度:中等强度")
elif strength == 3:
print("密码强度:强")
else:
print("密码输入错误!")
```
我们首先判断密码长度是否小于8,如果是,则为弱密码,strength设为1;否则,我们遍历密码中的每个字符,判断它属于哪一种字符种类(小写字母、大写字母、数字、符号),并用四个布尔值记录是否包含这些字符种类。然后,根据包含字符种类的数量来判断密码强度,如果包含了3种及以上字符种类,则为强密码,strength设为3;如果包含了2种字符种类,则为中等强度密码,strength设为2;否则为弱密码,strength设为1。最后,根据strength的值输出对应的密码强度。
阅读全文