---
name: "python-bcrypt"
section: "1"
platform: "linux"
package: "python-bcrypt"
version: "0.4-2+b1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/python-bcrypt"
---

# python-bcrypt(1)

a module to implement OpenBSD's Blowfish password hash algorithm This manual page was written for the Debian distribution because the original program does not have a manual page. python-bcrypt is a Python module implementating the OpenBSD Blowfish password hashing algorithm, as described in "A Future-Adaptable Password Scheme" by Niels Provos and David Mazieres: http://www.openbsd.org/papers/bcrypt-paper.ps 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 parametrised, so it can be increased as computers get faster. A simple example demonstrates most of the features: import bcrypt # Hash a password for the first time hashed = bcrypt.hashpw(password, bcrypt.gensalt()) # gensalt's log\_rounds parameter determines the complexity # the work factor is 2\*\*log\_rounds, and the default is 12 hashed = bcrypt.hashpw(password, bcrypt.gensalt(10)) # Check that an unencrypted password matches one that has # previously been hashed if bcrypt.hashpw(plaintext, hashed) == hashed: print "It matches" else: print "It does not match"

## NAME

python-bcrypt - a module to implement OpenBSD's Blowfish password hash algorithm

This manual page was written for the **Debian** distribution because the original program does not have a manual page.

python-bcrypt is a Python module implementating the OpenBSD Blowfish password hashing algorithm, as described in "A Future-Adaptable Password Scheme" by Niels Provos and David Mazieres: http://www.openbsd.org/papers/bcrypt-paper.ps

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 parametrised, so it can be increased as computers get faster.

A simple example demonstrates most of the features:

	import bcrypt

	\# Hash a password for the first time\
\
 	hashed = bcrypt.hashpw(password, bcrypt.gensalt())\

	\# gensalt's log\_rounds parameter determines the complexity\
\
 	\# the work factor is 2\*\*log\_rounds, and the default is 12\
\
 	hashed = bcrypt.hashpw(password, bcrypt.gensalt(10))

	\# Check that an unencrypted password matches one that has\
\
 	\# previously been hashed\
\
 	if bcrypt.hashpw(plaintext, hashed) == hashed:\
\
 		print "It matches"\
\
 	else:\
\
 		print "It does not match"

## AUTHOR

python-bcrypt was written by Damien Miller \<djm@mindrot.org\>

This manual page was written by Kevin Coyner \<kcoyner@debian.org\> for the **Debian** system (but may be used by others).  Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
