- 下载第三方密码校验包
django_password_validators-1.3.1-py3-none-any.whl
安装依赖包
pip install django_password_validators-1.3.1-py3-none-any.whl
2.在内置的密码校验器里面添加如下内容
(一般将他们配置在settings.py文件中即可)
{
'NAME': 'django_password_validators.password_character_requirements.password_validation.PasswordCharacterValidator',
'OPTIONS': {
'min_length_digit': 1,
'min_length_alpha': 1,
'min_length_special': 1,
'min_length_lower': 1,
'min_length_upper': 1,
'special_characters': "~!@#$%^&*()_+{}\":;'[]."
}
}
3.添加后
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
'OPTIONS': {
'min_length': 12,
}
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
{
'NAME': 'django_password_validators.password_character_requirements.password_validation.PasswordCharacterValidator',
'OPTIONS': {
'min_length_digit': 1,
'min_length_alpha': 1,
'min_length_special': 1,
'min_length_lower': 1,
'min_length_upper': 1,
'special_characters': "~!@#$%^&*()_+{}\":;'[]."
}
}
]
CommonPasswordValidator:通过与定义的一些普通的密码校验。common-passwords.txt 定义了近2w个普通密码。
NumericPasswordValidator:isdigit 进行数字判断
MinimumLengthValidator:len 进行长度比较
UserAttributeSimilarityValidator: 与需要对比的用户属性(如:username, email等)进行相似度检查, 使用的python的标准库 Difflib来做文本相似度检查。
结果示例