Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A git mirror of django-bcrypt.
Python
branch: master
Failed to load latest commit information.
django_bcrypt Initial support for Django 1.4.
docs
.hgignore Add "docs/build" to .hgignore.
.hgtags
LICENSE Convert docs to reStructuredText and include them in the sdist.
MANIFEST.in Convert docs to reStructuredText and include them in the sdist.
README.rst Doc links.
setup.py Fix bug with is_enabled() returning None when not under a test.

README.rst

django-bcrypt

You should be using bcrypt.

django-bcrypt makes it easy to use bcrypt to hash passwords with Django.

Installation and Usage

Install the package with pip and Mercurial or git:

pip install -e hg+http://bitbucket.org/dwaiter/django-bcrypt#egg=django-bcrypt

# or ...

pip install -e git://github.com/dwaiter/django-bcrypt.git#egg=django-bcrypt

Add django_bcrypt to your INSTALLED_APPS.

That's it.

Any new passwords set will be hashed with bcrypt. Old passwords will still work fine.

Configuration

You can configure how django-bcrypt behaves with a few settings in your settings.py file.

BCRYPT_ENABLED

Enables bcrypt hashing when User.set_password() is called.

Default: True

BCRYPT_ENABLED_UNDER_TEST

Enables bcrypt hashing when running inside Django TestCases.

Default: False (to speed up user creation)

BCRYPT_ROUNDS

Number of rounds to use for bcrypt hashing. Increase this as computers get faster.

You can change the number of rounds without breaking already-hashed passwords. New passwords will use the new number of rounds, and old ones will use the old number.

Default: 12

BCRYPT_MIGRATE

Enables bcrypt password migration on a check_password() call.

The hash is also migrated when BCRYPT_ROUNDS changes.

Default: False

Acknowledgements

This is pretty much a packaged-up version of this blog post for easier use.

It also depends on the py-bcrypt library.

Something went wrong with that request. Please try again.