安全校验要求:
1.密码长度不小于8位
2.密码必须由大小写字母、数字、其他符号组成
3.密码中不能重复包含长度超过4的字串
使用函数:
#下列str是一个字符或字符串
#判断大小写
str.islower()
str.isupper()
#判断是否是字符
str.isalpha()
#判断是否是数字
str.isdigit()
#计算长度
len()
实现代码:
#encode: UTF-8
#检查密码长度是否大于八
def check_len(pwd):
if len(pwd)<8:
return False
else:
return True
#校验密码安全性,要求包含大小写字母、数字、其他字符
def check(pwd):
check=[0,0,0,0]
for char in pwd:
if char.islower():
check[0]=1
if char.isupper():
check[1]=1
if char.isdigit():
check[2]=1
#判断是否包含其他字符
if not (char.isalpha()|char.isspace()|char.isdigit()):
check[3]=1
if sum(check)<4:
return False
else :
return True
#判断是否存在超过四位密码的字串重复存在
def check_rep(pwd):
for i in range(0,len(pwd)-4):
str1=pwd[i:i+4]
str2=pwd[i+4::]
if(str1 in str2):
return False
return True
if __name__=="__main__":
msg='''
请设置密码,密码要求符合下列条件:
1.密码长度不小于8位
2.密码必须由大小写字母、数字、其他符号组成
3.密码中不能重复包含长度超过4的字串
'''
while True:
print(msg)
pwd=input("请输入密码:")
if(pwd=='q'):
print("退出程序...")
break
if not check_len(pwd):
print("密码长度不小于8位")
continue
if not check(pwd):
print("密码必须由大小写字母、数字、其他符号组成")
continue
if not check_rep(pwd):
print("密码中不能重复包含长度超过4的字串")
continue
print("密码安全")
break
实现效果: