基于zxcvbn python的django可翻译密码验证器。

django-zxcvbn-password-validator的Python项目详细描述


django zxcvbn密码验证器

django的可翻译密码验证器,基于zxcvbn python,可与pip一起使用。

Build StatusCoverage StatusPyPI version

使用django zxcvbn密码验证器创建用户

如果密码不够强,我们将提供错误信息,说明您需要执行的操作:

English example

错误信息将被翻译成目标语言(甚至是ZxCVBN给出的仅使用英语的字符串):

Translated example

如何使用

将它添加到您的需求中,并使用pip获取它。

django-zxcvbn-password-validator

然后一切都会在你的设置文件中发生。

INSTALLED_APPS中添加'django_zxcvbn_password_validator'

INSTALLED_APPS=[...'django_zxcvbn_password_validator']

修改AUTH_PASSWORD_VALIDATORS

AUTH_PASSWORD_VALIDATORS=[{'NAME':'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',},{'NAME':'django_zxcvbn_password_validator.ZxcvbnPasswordValidator',},...]

你可以选择单独使用zxcvbn,但我个人仍然使用django的UserAttributeSimilarityValidator, 因为它与ZXCVBN整合用户信息似乎还存在一些问题(截至2018年6月)。

最后,您可以根据自己的喜好设置PASSWORD_MINIMAL_STRENGTH(默认为2)。 低于此数字的密码将被拒绝:

# 0 too guessable: risky password. (guesses < 10^3)# 1 very guessable: protection from throttled online attacks. (guesses < 10^6)# 2 somewhat guessable: protection from unthrottled online attacks. (guesses < 10^8)# 3 safely unguessable: moderate protection from offline slow-hash scenario. (guesses < 10^10)# 4 very unguessable: strong protection from offline slow-hash scenario. (guesses >= 10^10)

翻译项目

此项目有多种语言版本。 如果您能做出贡献,我们将不胜感激 知道一种还没有的语言。

可用语言

这个软件是用英语开发的。其他可用语言为:

贡献

测试

python manage.py test

覆盖范围

coverage run ./manage.py test
coverage html
# Open htmlcov/index.html in a navigator

皮棉

我们正在使用pre-commit,它应该在提交期间处理linting。

pip install -r requirements_dev.txt
pre-commit install

I18n

python manage.py makemessages
# python manage.py createsuperuser ? (You need to login for rosetta)
python manage.py runserver
# Access http://localhost:8000/admin to login# Then go to http://localhost:8000/rosetta to translate
python manage.py makemessages --no-obsolete --no-wrap

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从sql查询中跳过元组结果中的索引   java无法在Hypersql上使用时间戳恢复时间   java如何使用JSQLParser获取Select子句的主体   mysql可以通过Java批处理调用SQL存储过程吗?   多参数迭代数组的java方法   安卓将数据从Firebase检索到ViewPager JAVA   java组织。阿帕奇。节俭。TBase vs org。阿帕奇。节约诱导前   java Firebase数据库和Android如何在注销时销毁“会话”?   在Java中使用toString修改字符串时StringBuilder的效率   java如何在安卓中根据整数大小对arrayList排序?   java先前工作的日期格式化代码在Micromax A111上不返回任何内容   java在servlet之间传输值   java Hibernate:为什么createQuery()会将包名附加到实体名?   java我可以右对齐图标以获得首选项吗?   java JavaFX 11部署失败:未能创建任务或类型JavaFX:com。太阳javafx。工具。ant:文件集   OSX约塞米蒂终端不会运行java MyClass。类,错误:无法找到或加载主类MyClass。班   什么是java。lang.Class<?>[]   反射为什么在更改字段的修饰符之前不能使用方法get(java.lang.reflect.Field#get)   java未能在java9下运行jmh测试