python中用正则表达式检查密码是否安全

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中用正则表达式检查密码是否安全相关的知识,希望对你有一定的参考价值。

目的:通过正则表达式检查密码是否强大,这个方法在需要注册网页上应该很常用。


环境:ubuntu 16.04  python3.5


思路:需要多个正则表达式,依次检查输入的密码是否符合要求,可以if或者for配合。

import re

# 密码至少8位数
rule_1 = re.compile(r‘\w{8,}‘)
# 密码同时包含大小写字母
rule_2 = re.compile(r‘([a-z].*[A-Z])|([A-Z].*[a-z])‘)
# 密码至少有一位数字
rule_3 = re.compile(r‘\d‘)
# 密码不符合要求的显示
NO = u‘输入的密码不够强壮!‘
# 密码符合要求的显示
YES = u‘输入的密码很结实!‘

print(u‘请输入密码:‘)
passwd = input(‘>‘)

if rule_1.search(passwd) == None:
    print(NO)
elif rule_2.search(passwd) == None:
    print(NO)
elif rule_3.search(passwd) == None:
    print(NO)
else:
    print(YES)

这个就是主要部分了,还可以添加特殊字符检查,或者尝试用for循环写也许更简短一点。


本文出自 “RickyHuL” 博客,请务必保留此出处http://rickyh.blog.51cto.com/10934856/1941543

以上是关于python中用正则表达式检查密码是否安全的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式实现密码检查

将用户输入用于 Python 的正则表达式是不是安全?

检查密码是不是为“8个字符,包括1个大写字母、1个特殊字符、字母数字字符”的正则表达式

python使用正则表达式判别用户输入密码的强弱并提示

正则表达式,用于包含至少8个字符和至少1个非字母数字字符的密码

在 Python 中用正则表达式替换