bcrypt password hashing and key derivation
py-bcrypt is an implementation the OpenBSD Blowfish password hashing algorithm, as described in “A Future-Adaptable Password Scheme” by Niels Provos and David Mazieres and related bcrypt-based key derivation function implemented in OpenBSD libutil.
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. The computation cost of the algorithm is parametised, so it can be increased as computers get faster.
Two interfaces are supported: a classic password hashing interface and a key derivation function (KDF) intended for generating cryptographic keys.