Skip to main content

A translatable password validator for django, based on zxcvbn-python.

Project description

django-zxcvbn-password-validator

A translatable password validator for django, based on zxcvbn-python and available with pip.

Professional support for django-zxcvbn-password-validator is available as part of the Tidelift Subscription

Build Status Coverage Status PyPI version

Translating the project

This project is available in multiple language. Your contribution would be very appreciated if you know a language that is not yet available. See how to contribute

Language available

The software is developed in english. Other available languages are :

Creating a user with django-zxcvbn-password-validator

If the password is not strong enough, we provide errors explaining what you need to do :

English example

The error message are translated to your target language (even the string given by zxcvbn that are in english only) :

Translated example

How to use

Add django-zxcvbn-password-validator to your requirements and get it with pip. Then everything happens in your settings file.

Add 'django_zxcvbn_password_validator' in the INSTALLED_APPS :

INSTALLED_APPS = [
    # ...
    "django_zxcvbn_password_validator"
]

Modify AUTH_PASSWORD_VALIDATORS :

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

You could choose to use zxcvbn alone, but I personally still use Django's UserAttributeSimilarityValidator, because there seems to be still be some problem with it integrating user information with zxcvbn (as of june 2018).

Finally, you can set the PASSWORD_MINIMAL_STRENGTH to your liking (default is 2), every password scoring lower than this number will be rejected :

# 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)
PASSWORD_MINIMAL_STRENGTH = 0 if DEBUG else 4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-zxcvbn-password-validator-1.4.3.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file django-zxcvbn-password-validator-1.4.3.tar.gz.

File metadata

File hashes

Hashes for django-zxcvbn-password-validator-1.4.3.tar.gz
Algorithm Hash digest
SHA256 3bb625f57939ea97c4fb2e1512220d77f17f5b9797725f3e578c40cdf8108302
MD5 cf0f06f99107aa8edb76a0f2fc0ac106
BLAKE2b-256 e15001cf3755cd72b7a433e695ab106d0ed91cd3b315c8364fd7f14fb2dd5db3

See more details on using hashes here.

File details

Details for the file django_zxcvbn_password_validator-1.4.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_zxcvbn_password_validator-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4399a4b60961bacea6c770321d19334502de0a505cd0f32d034bfe0a03ced23c
MD5 84d2e40c688872c50400211d97de46d5
BLAKE2b-256 0af0ea55e2b21ea0fbe3e1d8b9fc3411117dc02cd05259b6c3a0c3e4f4a85004

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page