py-bcrypt is a Python wrapper of OpenBSD's Blowfish password hashing code, as
described in "A Future-Adaptable Password Scheme" by Niels Provos and David
Mazieres.
This system hashes passwords using a version of Bruce Schneier's Blowfish block
cipher with modifications designed to raise the cost of off-line password
cracking and frustrate fast hardware implementation. The computation cost of the
algorithm is parametised, so it can be increased as computers get faster. The
intent is to make a compromise of a password database less likely to result in
an attacker gaining knowledge of the plaintext passwords (e.g. using John the
Ripper).
As of py-bcrypt-0.4, this module can also be used as a Key Derivation Function
(KDF) to turn a password and salt into a cryptographic key.