# 密码安全性检查的脚本代码
#需求:
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
symbol = '~!@#$%^&*()_=-/,.?<>;:[]{}|\\'
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
t = 'yes'
while t == 'yes' :
passwd = input('请输入您的密码:')
length = len(passwd)
#判断长度
while (passwd.isspace() or length == 0) :
passwd = input('您输入的密码为空或空格,请重新输入:')
length = len(passwd)
if length <= 8 :
flag_len = 1
elif 8 < length < 16 :
flag_len = 2
elif length >= 16 :
flag_len =3
#判断是否包含特殊
flag_con = 0
for x in passwd :
if x in symbol :
flag_con = 1
break
#判断是否包含字母
for x in passwd :
if x in chars :
flag_con += 1
break
#判读是否包含数字
for x in passwd :
if x in nums :
flag_con += 1
break
#检查密码中是否有空格
error = 0
for x in passwd :
if x in ' ' :
error = 1
break
#打印结果
while True :
if error == 1 :
print('密码中包含空格,错误!')
else :
print('您的密码安全度等级为:', end='')
if flag_len == 1 and flag_con == 1 :
print('低')
elif flag_len == 2 and flag_con == 2 :
print('中')
elif flag_len == 3 and flag_con == 3 :
print('高')
print('请继续保持!')
break
else :
print('您的输入有误!')
print('''请按以下的方式提升您的密码安全度:
1.密码必须由数字、字母及特殊字符三种组合
2.密码只能由字母开头
3.密码长度不能低于16位''')
break
t = input('还要继续测试吗?(”yes“继续,其他退出)')