美文网首页程序员
用正则表达式来判断密码强弱

用正则表达式来判断密码强弱

作者: 苏鑫的博客 | 来源:发表于2017-06-15 07:53 被阅读0次

学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<
'''

每天沉迷python,坏狗狗你在哪里

相关文章

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

    学python的re模板,写了个文章发现没人看,所以总结出来经验,理论没人爱,实战的人心,那么既然没人喜欢理论就直...

  • 案例(6):判断密码强弱

    本章通过判断密码强弱的6个案例来进行学习基础的Python程序 案例描述 密码强度:是指一个密码对抗猜测或时暴力破...

  • 30分钟分时图判断强弱

    开盘半小时内,如何利用分时图来判断,谷票的强弱呢? 分时图判强弱 记住三点六口诀 用分时图判断强弱,记住价格位置和...

  • 正则表达式之密码强弱

  • 正则表达式的使用 - swift3.1

    正则表达式的使用文件如下: 使用方法: 补充一些正则表达式中常用的语法,方便扩展更多判断 1 . 校验密码强度 密...

  • PHP正则合集

    1.php判断密码的正则表达式;要求密码必须包含大写字母+小写字母+数字,且长度8~20位 preg_match(...

  • 常用正则速查

    不定时整理一下项目中常用到的一些正则判断,跟大家分享的同时,也方便自己查找。 1. 密码强弱判断(8-24位无符号...

  • 密码提示强弱的用例设计

    有一种简单密码提示的规则是这样的:设第一位密码的权值为1,第二位如何和第一位相同也权值为1,如果是连续的,则权值为...

  • 2018-10-23day18总结

    一、正则表达式语法 正则表达式是用匹配或者描述字符串的工具。 用处: a.判断字符串是否满足某个条件---判断输入...

  • Day18-正则表达式

    一、正则表达式语法 正则表达式是用匹配或者描述字符串的工具。 用处: a.判断字符串是否满足某个条件---判断输入...

网友评论

    本文标题:用正则表达式来判断密码强弱

    本文链接:https://www.haomeiwen.com/subject/npweqxtx.html