第014讲:字符串。【关于密码安全性检查的代码】
看了答案,感觉我写的只符合了这个要求,要是输入的密码都不在(低中高密码)要求范围内,从实用性上来说,是否可以print('输入的密码不符合规范')来代替?# 密码安全性检查代码
#
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
b="""~!@#$%^&*()_=-/,.?<>;:[]{}|\\""" #特殊字符串
c=0 #用来判断特殊字符串个数
d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'#用来判断密码首位是否是字母
while True:
password=input('请输入你的密码:')
if password.isalnum()==True and len(password)<=8: #全数字或全字母,密码长度小于等于8
print('这是低级密码')
else:
for i in password: #得到每未数密码
if i in b: #判断是存在特殊字符
c+=1
if c==2 and 8<len(password)<=16: #特殊字符数为2,密码长度9~16
print('这是中级密码')
elif c>=3 and len(password)>16 and password in d: #特殊字符数大于2,密码长度大于16,密码首位为字母
print('这是高级密码')
else:
print('输入的密码不符合规范') 我觉得主要问题是没有定义不符合密码要求的标准 不符合低的条件应该是:
密码未用数字和英文,全用特殊符号,或空格 且小于6(哈哈这是我想一般密码都要大于等于6)?又或者不要小于6这个条件?
页:
[1]