Python项目2—密码安全性校验
Python项目2—密码安全性校验

Python项目2—密码安全性校验

安全校验要求:

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

实现效果:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注