Python案例(三)

时间:2020-10-28 作者:admin

编写程序,检查并判断密码字符串的安全强度。

import string

def check(pwd):
    #密码必须至少包含6个字符
    if not isinstance(pwd,str) or len(pwd)<6:
        return 'not suitable for password'
    #密码强度等级与包含字符种类的对应关系
    d={1:'weak',2:'below middle',3:'above middle',4:'strong'}
    #分别用来标记pwd是否含有数字、小写字母、大写字母和指定的标点符号
    r=[False]*4

    for ch in pwd:
        #是否包含数字
        if not r[0] and ch in string.digits:
            r[0]=True
        #是否包含小写字母
        elif not r[1] and ch in string.ascii_lowercase:
            r[1]=True
        #是否包含大写字母
        elif not r[2] and ch in string.ascii_uppercase:
            r[2]=True
        #是否包含指定的标点符号
        elif not r[3] and ch in ',.!;?<>':
            r[3]=True

    #统计包含的字符种类,返回密码强度
    return d.get(r.count(True),'error')
print(check('目标密码'))
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。