python判断密码强度简单中等难_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

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

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值