• python 使用正则表达式判断密码强弱


    学python的re模板,写了个文章发现没人看,所以总结出来经验,理论没人爱,实战的人心,那么既然没人喜欢理论就直接上实战,在实战中精炼理论.不多说直接先上代码

    def password_level(password):
     weak = re.compile(r'^((d+)|([A-Za-z]+)|(W+))$')
     level_weak = weak.match(password)
     level_middle = re.match(r'([0-9]+(W+|\_+|[A-Za-z]+))+|([A-Za-z]+(W+|\_+|d+))+|((W+|\_+)+(d+|w+))+',password)
     level_strong = re.match(r'(w+|W+)+',password)
     if level_weak:
      print 'password level is weak',level_weak.group()
     else:
      if (level_middle and len(level_middle.group())==len(password)):
       print 'password level is middle',level_middle.group()
      else:
       if level_strong and len(level_strong.group())==len(password):
        print 'password level is strong',level_strong.group()
    

      

    解释一下

    弱密码:全是数字,符号,字母

    中等密码:数字加上符号,数字加上字母,字母加上符号

    强密码:三个混合.

    我没有区分大小写,希望有兴趣的可以自己写写.问题出现在w上因为w等价与[A-Za-z0-9_]所以前期通过W不能匹配到包含下滑线的字符串

    我们来看看中等密码,数字加上符号或者字母或者_是一个组,字母加上符号或者下划线或者符号是一个组,符号或者下划线加上字母或者数字是一个组,我总觉得这个里面的代码好像不对但是通过测试又没发现什么不对的地方,就先用这个版本0.0.1吧

    测试代码

    if __name__ == '__main__':
     passwords = ('11','aa','LL','1a','1_','a_','a1','_1','*a','1a_','1a<')
     for pw in passwords:
      password_level(pw)
    '''----------------------output------------------------
    #password level is weak 11
    #password level is weak aa
    #password level is weak LL
    #password level is middle 1a
    #password level is middle 1_
    #password level is middle a_
    #password level is middle a1
    #password level is middle _1
    #password level is middle *a
    #password level is strong 1a_
    #password level is strong 1a<
    '''

    以上所述是小编给大家介绍的使用正则表达式判断密码强弱的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    http://www.jiuaidushu.com/cpgjhegfgncpcfefdjcfdjdicfecegcfefdhcfdidjcfecdjcfefdjcfdidhcfdied/

  • 相关阅读:
    经常使用的两个清爽的table样式
    wdcp新开站点或绑定域名打不开或无法访问的问题
    在线客服代码,可以用
    $smarty获取变量get,post等用法
    mysql 替换某个字段中的某个字符
    git 设置不需要输入密码
    linux批量查找文件内容
    使用PHP QR Code生成二维码
    RabbitMQ-2
    RabbitMQ-1
  • 原文地址:https://www.cnblogs.com/yaogua/p/7205401.html
Copyright © 2020-2023  润新知