{ "info": { "author": "Pierre Sassoulas", "author_email": "pierre.sassoulas@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# django-zxcvbn-password-validator\n\nA translatable password validator for django, based on zxcvbn-python and available with pip.\n\n[![Build Status](https://travis-ci.org/Pierre-Sassoulas/django-zxcvbn-password-validator.svg?branch=master)](https://travis-ci.org/Pierre-Sassoulas/django-zxcvbn-password-validator)\n[![Coverage Status](https://coveralls.io/repos/github/Pierre-Sassoulas/django-zxcvbn-password-validator/badge.svg?branch=master)](https://coveralls.io/github/Pierre-Sassoulas/django-zxcvbn-password-validator?branch=master)\n[![PyPI version](https://badge.fury.io/py/django-zxcvbn-password-validator.svg)](https://badge.fury.io/py/django-zxcvbn-password-validator)\n\n## Creating a user with django-zxcvbn-password-validator\n\nIf the password is not strong enough, we provide errors explaining what you need to do :\n\n![English example](doc/english_example.png \"English example\")\n\nThe error message are translated to your target language (even the string given by zxcvbn that are in english only) :\n\n![Translated example](doc/french_example.png \"Translated example\")\n\n## How to use\n\nAdd it to your requirements and get it with pip.\n\n````\ndjango-zxcvbn-password-validator\n````\n\nThen everything happens in your settings file.\n\nAdd `'django_zxcvbn_password_validator'` in the `INSTALLED_APPS` :\n\n````python\nINSTALLED_APPS = [\n\t...\n\t'django_zxcvbn_password_validator'\n]\n````\n\nModify `AUTH_PASSWORD_VALIDATORS` :\n\n````python\nAUTH_PASSWORD_VALIDATORS = [\n\t{\n\t\t'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',\n\t},\n\t{\n\t\t'NAME': 'django_zxcvbn_password_validator.ZxcvbnPasswordValidator',\n\t},\n\t...\n]\n````\n\nYou could choose to use zxcvbn alone, but I personally still use Django's `UserAttributeSimilarityValidator`,\nbecause there seems to be still be some problem with it integrating user informations with zxcvbn (as of june 2018).\n\nFinally you can set the `PASSWORD_MINIMAL_STRENGTH` to your liking (default is 2),\nevery password scoring lower than this number will be rejected :\n\n````python\n# 0 too guessable: risky password. (guesses < 10^3)\n# 1 very guessable: protection from throttled online attacks. (guesses < 10^6)\n# 2 somewhat guessable: protection from unthrottled online attacks. (guesses < 10^8)\n# 3 safely unguessable: moderate protection from offline slow-hash scenario. (guesses < 10^10)\n# 4 very unguessable: strong protection from offline slow-hash scenario. (guesses >= 10^10)\n````\n## Translating the project\n\nThis project is available in multiple language.\nYour contribution would be very appreciated if you\nknow a language that is not yet available.\n\n### Language available\n\nThe software is developed in english. Other available languages are :\n\n* [x] Dutch thanks to [Thom Wiggers](https://github.com/thomwiggers/)\n* [x] French thanks to [Pierre Sassoulas](https://github.com/Pierre-Sassoulas/) and [Lionel Sausin](https://github.com/ls-initiatives)\n* [x] English\n\n## Contributing\n\n### Testing\n\n````bash\npython manage.py test\n````\n\n### Coverage\n\n````bash\ncoverage run ./manage.py test\ncoverage html\n# Open htmlcov/index.html in a navigator\n````\n\n### Lint\n\nWe're using `pre-commit`, it should take care of linting during commit.\n\n~~~~bash\npip install -r requirements_dev.txt\npre-commit install\n~~~~\n\n### I18n\n\n````bash\npython manage.py makemessages\n# python manage.py createsuperuser ? (You need to login for rosetta)\npython manage.py runserver\n# Access http://localhost:8000/admin to login\n# Then go to http://localhost:8000/rosetta to translate\npython manage.py makemessages --no-obsolete --no-wrap\n````", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Pierre-Sassoulas/django-zxcvbn-password-validator", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-zxcvbn-password-validator", "package_url": "https://pypi.org/project/django-zxcvbn-password-validator/", "platform": "", "project_url": "https://pypi.org/project/django-zxcvbn-password-validator/", "project_urls": { "Homepage": "https://github.com/Pierre-Sassoulas/django-zxcvbn-password-validator" }, "release_url": "https://pypi.org/project/django-zxcvbn-password-validator/1.3.0/", "requires_dist": null, "requires_python": "", "summary": "A translatable password validator for django, based on zxcvbn-python.", "version": "1.3.0" }, "last_serial": 5406709, "releases": { "1.0.3": [ { "comment_text": "", "digests": { "md5": "b75a4b4e2b6b110fc9cdd0cc48406ca4", "sha256": "3a60390f0d387b5344e05d364f77bd1375ab7b529fde1a5cd9d10657a9a0cfb5" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.0.3.tar.gz", "has_sig": false, "md5_digest": "b75a4b4e2b6b110fc9cdd0cc48406ca4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5185, "upload_time": "2018-06-15T17:26:35", "url": "https://files.pythonhosted.org/packages/cb/05/dd5356a36dd36e072f5e22e59af513f277ddddc53577b4fd720023790dd2/django-zxcvbn-password-validator-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "77e5956bcc52352e54e61827c71313a6", "sha256": "bfeb723d97307ecf373141e3a50cadf27e69da404f4649e1569d677f873400ae" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.1.0.tar.gz", "has_sig": false, "md5_digest": "77e5956bcc52352e54e61827c71313a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6585, "upload_time": "2018-06-16T13:28:07", "url": "https://files.pythonhosted.org/packages/21/52/74c4d5d453f7f41f88d234df3da9b92f6f514a2e2b0c41642caf4259c70e/django-zxcvbn-password-validator-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "1554eccb50baeecccd1f6926b46ca07a", "sha256": "c61528bf6ce2a6575f5b8a454e77367c211a923494e5f72f5d33bd528604132e" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.2.0.tar.gz", "has_sig": false, "md5_digest": "1554eccb50baeecccd1f6926b46ca07a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9407, "upload_time": "2018-07-15T13:02:33", "url": "https://files.pythonhosted.org/packages/aa/38/e8d18204d37be7e032c4bf4884ef69c57765883adb33e36106d6cb4986b1/django-zxcvbn-password-validator-1.2.0.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "5963738fcf199ecd148d4d5a1062207d", "sha256": "f7935b60254575b7203ced95be676c870cc67693c0285318fdc4e2492b036675" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.2.2.tar.gz", "has_sig": false, "md5_digest": "5963738fcf199ecd148d4d5a1062207d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10470, "upload_time": "2018-07-20T18:03:14", "url": "https://files.pythonhosted.org/packages/e2/46/75a4fd5a7c9f70b2816c173e56d796b420bc8c59cec3ccbab4cbb4833889/django-zxcvbn-password-validator-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "1c89a288bc6e59aded145aed2555d031", "sha256": "003a643d4bf11dce8c513f6442c87052702d5bc0627fa3124c8746d05dcd6010" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.2.3.tar.gz", "has_sig": false, "md5_digest": "1c89a288bc6e59aded145aed2555d031", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11542, "upload_time": "2018-09-12T06:24:42", "url": "https://files.pythonhosted.org/packages/38/b7/18e88b0a679b9e9f8c2aa31b72bfcf5111515fa3e7529b72e1c03a0fed3e/django-zxcvbn-password-validator-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "01f9282406213f2a50b30ae1cd67df66", "sha256": "a8cfb1327fcaa3a4759a42536b04dbbfed464750a37b968da75f0c5443dee43a" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.2.4.tar.gz", "has_sig": false, "md5_digest": "01f9282406213f2a50b30ae1cd67df66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11578, "upload_time": "2018-09-14T20:10:16", "url": "https://files.pythonhosted.org/packages/8f/cb/572f0d6903be2fc539389436b68a1dfc3841e908cff63dcc2020d85a38a7/django-zxcvbn-password-validator-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "0e1d0d0997557c9f90f5c90abd8bc498", "sha256": "9c798516cc7c2cee425ffe418b5612088802407b758b2da747553b21886cc305" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.2.5.tar.gz", "has_sig": false, "md5_digest": "0e1d0d0997557c9f90f5c90abd8bc498", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13646, "upload_time": "2018-11-16T20:17:53", "url": "https://files.pythonhosted.org/packages/ed/2e/2101845f52f2a48396593d2197a2a05030d8e799ee89c4f05dc26014a586/django-zxcvbn-password-validator-1.2.5.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "2b6e13fb136a0a56ec664726de3886d1", "sha256": "16cddcb92817764dbd0c1b94b1085fe6e4ad9e33aeae43f0e688c13e89aac625" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.2.7.tar.gz", "has_sig": false, "md5_digest": "2b6e13fb136a0a56ec664726de3886d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14717, "upload_time": "2019-04-26T10:31:50", "url": "https://files.pythonhosted.org/packages/62/d7/a5e9922cf58b18c82f0db706d04165f3413a6735fe4681443a7c8f1db1d5/django-zxcvbn-password-validator-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "47deac672187e9794aa98eb58fb75a2a", "sha256": "8aac07f08b32102a80b9dd3437bd92f2f495be6e4dd3aab7c5d1cb596f00b5f7" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.2.8.tar.gz", "has_sig": false, "md5_digest": "47deac672187e9794aa98eb58fb75a2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14549, "upload_time": "2019-06-15T21:31:44", "url": "https://files.pythonhosted.org/packages/ab/f1/abcc89ada6a2e7efe79f3d5e20bae17efcf9f5e597b54361ecb7d62e27ea/django-zxcvbn-password-validator-1.2.8.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "42f5c19d7583362c09b6d6db2bb97996", "sha256": "a3435aec55573d28d6b000cb751cf0f2dc2fc3af2ad72d4cea13eb54b3740612" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.3.0.tar.gz", "has_sig": false, "md5_digest": "42f5c19d7583362c09b6d6db2bb97996", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14814, "upload_time": "2019-06-16T14:44:38", "url": "https://files.pythonhosted.org/packages/d2/06/96a25b195279d2a6786bb9e7ff73db1e41e2b3b4e8f7aad561694b8c2382/django-zxcvbn-password-validator-1.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "42f5c19d7583362c09b6d6db2bb97996", "sha256": "a3435aec55573d28d6b000cb751cf0f2dc2fc3af2ad72d4cea13eb54b3740612" }, "downloads": -1, "filename": "django-zxcvbn-password-validator-1.3.0.tar.gz", "has_sig": false, "md5_digest": "42f5c19d7583362c09b6d6db2bb97996", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14814, "upload_time": "2019-06-16T14:44:38", "url": "https://files.pythonhosted.org/packages/d2/06/96a25b195279d2a6786bb9e7ff73db1e41e2b3b4e8f7aad561694b8c2382/django-zxcvbn-password-validator-1.3.0.tar.gz" } ] }