Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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

Release history Release notifications

This version
History Node


History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
Bcryptor-1.2.2.tar.gz (111.3 kB) Copy SHA256 hash SHA256 Source None Feb 26, 2010

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page