怎么利用正则表达式来判断密码的强弱

来源:爱站网时间:2021-06-02编辑:网友分享
近期有朋友在问爱站技术频道小编对于正则表达式要怎么来判断密码强弱,下文会有示例代码给到代价,很具有参考借鉴价值,大家可以和爱站技术频道小编一起看看是怎么利用正则表达式来判断密码的强弱。

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

以上就是爱站技术频道小编带来的关于怎么利用正则表达式来判断密码的强弱的文章内容,如果对正则表达式相关教程感兴趣的朋友,请关注爱站技术频道小编,后续会带来更多精彩知识内容。

上一篇:怎么理解正则表达式的环视概念和用法

下一篇:加深正则表达式字符类的理解

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载