Skip to main content

Additional libraries for validating passwords in Django.

Project description

CI status

Additional libraries for validating passwords in Django 3.2 or later.

The application works well under python 4.x and 3.x versions.

Django version after the number 1.9, allows you to configure password validation. Configuration validation is placed under the variable AUTH_PASSWORD_VALIDATORS.

Installation

Just install django-password-validators via pip:

$ pip install django-password-validators

Validators

UniquePasswordsValidator

Validator checks if the password was once used by a particular user. If the password is used, then an exception is thrown, of course.

For each user, all the passwords are stored in a database. All passwords are strongly encrypted.

Configuration…

In the file settings.py we add

 INSTALLED_APPS = [
     ...
     'django_password_validators',
     'django_password_validators.password_history',
     ...
 ]

AUTH_PASSWORD_VALIDATORS = [
    ...
    {
        'NAME': 'django_password_validators.password_history.password_validation.UniquePasswordsValidator',
        'OPTIONS': {
             # How many recently entered passwords matter.
             # Passwords out of range are deleted.
             # Default: 0 - All passwords entered by the user. All password hashes are stored.
            'last_passwords': 5 # Only the last 5 passwords entered by the user
        }
    },
    ...
]

# If you want, you can change the default hasher for the password history.
# DPV_DEFAULT_HISTORY_HASHER = 'django_password_validators.password_history.hashers.HistoryHasher'

And run

python manage.py migrate

PasswordCharacterValidator

The validator checks for the minimum number of characters of a given type.

In the file settings.py we add

 INSTALLED_APPS = [
     ...
     'django_password_validators',
     ...
 ]

AUTH_PASSWORD_VALIDATORS = [
    ...
    {
        'NAME': 'django_password_validators.password_character_requirements.password_validation.PasswordCharacterValidator',
        'OPTIONS': {
             'min_length_digit': 1,
             'min_length_alpha': 2,
             'min_length_special': 3,
             'min_length_lower': 4,
             'min_length_upper': 5,
             'special_characters': "~!@#$%^&*()_+{}\":;'[]"
         }
    },
    ...
]

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-password-validators-1.7.3.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

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

django_password_validators-1.7.3-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file django-password-validators-1.7.3.tar.gz.

File metadata

File hashes

Hashes for django-password-validators-1.7.3.tar.gz
Algorithm Hash digest
SHA256 7175aefa6e86dc002dd3539327bf2d752097651704927dc409a669259e0d2195
MD5 874ab9c4063b65e28cf767ba2e3a1642
BLAKE2b-256 639182e0404483a5e2c0f3fdc144db39874b59107ed6a4a00afecf0c9d204a74

See more details on using hashes here.

File details

Details for the file django_password_validators-1.7.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_password_validators-1.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f243a82957e9b17a0c7cf5580f9d7588471cb6530c2dce7ee4e1222dddfe5768
MD5 3a55846851b8c894cdc4ef4b600ed87c
BLAKE2b-256 d8f9c83f378a46535c4851df45bc9d172f262c5a7df75575b9087a8fe1ae2af7

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