skip to navigation
skip to content

Bcryptor 1.2.2

Python wrapper for bcrypt

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.
File Type Py Version Uploaded on Size
Bcryptor-1.2.2.tar.gz (md5) Source 2010-02-26 108KB