密码安全性检查

要求:

安全级别低:密码由单纯数字或字母组成 密码长度小于等于8位

安全级别中:密码由数字,字母,特殊字符任意两种组合,密码长度不低于8位

安全级别高:密码由数字,字母及特殊字符三种组合,开头只能为字母。密码长度不低于16位


#str.isdigit()当字符串只包含数字返回True
#str.isalpha()当字符串只包含字母返回True
#len(str)计算字符串的长度
"""题目要求
安全级别低:密码由单纯数字或字母组成 密码长度小于等于8位
安全级别中:密码由数字,字母,特殊字符任意两种组合,密码长度不低于8位
安全级别高:密码由数字,字母及特殊字符三种组合,开头只能为字母。密码长度不低于16位
"""
pw=input("请输入密码")
num="0123456789"
haha="""~!@#$%^&*()_+-=/*{}[]|'";:/?,.<>"""
if pw.isdigit() ==True or pw.isalpha()==True :
    if len(pw)<=8 :
        print("安全系数为:低")

 
     
else :
    a,b,c=0,0,0
    for i in pw:
        if i in num :
            a=1
        elif 'a'<=i<='z' or 'A'<=i<='Z' :
            b=1
        elif i in haha :
            c=1
        if a+b+c==3:
            break
            
    if a+b+c==3 and len(pw)>=16:
            if pw[0] in num:
                print("安全系数为:高")
        
    if a+b+c ==2 and len(pw)>=8 :
            print("安全系数为:中")
            

我的问题1.特殊字符不会处理

               2if 与else 当一个if结束后 它与紧跟着的else之间不能有其他语句

原文地址:https://www.cnblogs.com/iamjuruo/p/7470910.html