python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python验证用户密码规范

Python验证用户密码是否规范脚本示例

作者:扶苏如是

对用户密码的强度进行校验,要求用户密码达到一定的强度,符合安全性要求,这篇文章主要给大家介绍了关于Python验证用户密码是否规范的相关资料,需要的朋友可以参考下

代码如下:

import re

def check_password(password):
    # 检查长度是否在6-20之间
    if not 6 <= len(password) <= 20:
        return False
    # 检查是否包含小写字母
    if not re.search(r'[a-z]',password):
        return False
    # 检查是否包含大写字母
    if not re.search(r'[A-Z]',password):
        return False
    # 检查是否包含数字
    if not re.search(r'[0-9]',password):
        return False
    # 检查是否包含特殊字符
    if not re.search(r'[!@#$%^&*()_+-=,.<>?]',password):
        return False
    return True

# 测试
password = "Abc123!@"
print(check_password(password)) # True
password = "abc"
print(check_password(password)) # False

描述信息:

 当然, 你也可以使用 re.compile() 函数编译了一个正则表达式,代码如下:

import re

password_pattern = re.compile(r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+-=,.<>?])[A-Za-z\d!@#$%^&*()_+-=,.<>?]{6,20}$')

# 测试
password = "Abc123!@"
print(bool(password_pattern.match(password))) # True
password = "abc"
print(bool(password_pattern.match(password))) # False

描述信息:

附要求:6位密码,含有数字、大小写字母,及~!@中的特殊符号

import re
 
while True:
    pwd = input('请输入您的密码:')
    r = '^(?=.*?\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@])[0-9a-zA-Z~!@]{6}$'
    result = re.match(r, pwd)
    if result is None:
        print('请输入正确的密码格式!')
        print('要求6位密码,含有数字、大小写字母,及~!@中的特殊符号!')
    else:
        break
 
print('成功设置密码!')
print(f'您的密码是:{pwd}')

(?=.*?\d) 检查数字;(?=.*[a-z]) 检查小写英文字母;(?=.*[A-Z]) 检查大写英文字母;

测试:

    # 若不限制长度
    r = '^(?=.*?\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@]).*$'

总结 

到此这篇关于Python验证用户密码是否规范脚本的文章就介绍到这了,更多相关Python验证用户密码规范内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文