Skip to main content

Python wrapper for bcrypt

Project description

Bcrypt is an implementation of a modern password hashing algorithm, based on the Blowfish block cipher, by Niels Provos and David Mazieres. It has been the default password scheme since OpenBSD 2.1.

A paper on the algorithm that explains its design decisions is available here:

The most important property of bcrypt is that it is adaptable to future processor performance improvements, allowing you to arbitrarily increase the processing cost of checking a password while still maintaining compatibility with your older password hashes.

This package provides a high level object oriented wrapper around bcrypt, as well as low level bindings to the C library. It uses the random number generator random.SystemRandom() to create the salts.


To build the module from source code, read documentation on doc/source.txt.


Yamlog manages the error catching code and error reporting. Read its documentation if want to be set up.


Typical usage:

import bcryptor

hasher = bcryptor.Bcrypt()
hash = hasher.create('crack my pass')

And to validate:

>>> hasher.valid('crack my pass', hash)
>>> hasher.valid('Crack my pass', hash)

Change history

v1.2.2, 2010-02-26

  • Fixed an import error at loading the package to get its docstring. It doesn’t works when is imported a module generated by cython which has not built.

v1.2.1, 2010-02-25

  • Added a null handler to logging, since Yamlog could not has been set up.

v1.2, 2010-02-24

  • The license has been changed to ISC.
  • For indentation, is used 4 spaces as is indicated in PEP-8.
  • The manage of exceptions and imports has been improved.
  • Better docstrings.
  • The values of cost can be changed at instancing Bcrypt().
  • Changed from Pyrex to Cython.
  • The logging is managed through Yamlog.

v1.1, 2009-05-20

  • Initial release.

Project details

Download files

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

Files for Bcryptor, version 1.2.2
Filename, size File type Python version Upload date Hashes
Filename, size Bcryptor-1.2.2.tar.gz (111.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page