Skip to content

hongchou/passrule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PassRule

可配置的密码校验库,支持自定义校验规则。

安装

pip install passrule

使用方法

基本使用

from passrule import PasswordValidator

# 使用默认规则
validator = PasswordValidator()
is_valid, errors = validator.validate("MyPassword123!")
print(is_valid)  # True
print(errors)    # []

自定义规则

from passrule import PasswordValidator, ValidationRule

# 自定义规则
rule = ValidationRule(
    min_length=6,
    max_length=20,
    require_digits=True,
    require_uppercase=False,
    require_lowercase=True,
    require_special_chars=True,
    special_chars="!@#$%"
)

validator = PasswordValidator(rule)
is_valid, errors = validator.validate("password123!")

密码生成

from passrule import PasswordGenerator, ValidationRule

# 使用默认规则生成密码
generator = PasswordGenerator()
password = generator.generate()  # 生成8位密码
password = generator.generate(12)  # 生成12位密码

# 使用自定义规则生成密码
rule = ValidationRule(
    min_length=10,
    require_uppercase=True,
    require_digits=True,
    require_special_chars=False
)
generator = PasswordGenerator(rule)
password = generator.generate()

# 排除容易混淆的字符
rule = ValidationRule(
    min_length=12,
    exclude_chars="0Oo1Il"  # 排除0, O, o, 1, I, l
)
generator = PasswordGenerator(rule)
password = generator.generate()

校验规则

  • min_length: 最小长度(默认8)
  • max_length: 最大长度(默认无限制)
  • require_digits: 是否需要数字(默认True)
  • require_uppercase: 是否需要大写字母(默认True)
  • require_lowercase: 是否需要小写字母(默认True)
  • require_special_chars: 是否需要特殊字符(默认True)
  • special_chars: 允许的特殊字符(默认"!@#$%^&*()_+-=[]{}|;:,.<>?")
  • exclude_chars: 排除的字符(默认为空)

许可证

MIT

About

可配置的密码校验库

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages