密码强度判断
2019-04-11 本文已影响0人
Dujf
密码强度判断
描述
用户输入一个字符串做为密码,判断密码强度,规则为:密码长度小于8弱密码,密码长度大于等于8且包含至少2种字符为中等强度、密码包含3种字符为强、包含全部4种字符为极强。
提示:
string.digits 可返回'0123456789'
string.ascii_lowercase 可返回'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase 可返回'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.punctuation 可返回'!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~'
输入格式
输入一个字符串
输出格式
密码强度的判断结果,分:弱、中、强、极强,共四种
代码:
import string
pwd = input()
strong = d = al = au = pu = 0
for ch in pwd:
if ch in string.digits: #是否包含数字
d = 1
elif ch in string.ascii_lowercase: #是否包含小写字母
al = 1
elif ch in string.ascii_uppercase: #是否包含大写字母
au = 1
elif ch in string.punctuation: #是否包含指定的标点符号
pu = 1
if len(pwd) < 8:
strong = 0
else:
strong = d + al + au + pu
if strong < 2:
print('弱')
elif strong == 2:
print('中')
elif strong == 3:
print('强')
elif strong == 4:
print('极强')