Passlib 1.7.4 documentation


2020-05-01: Passlib’s public repository has moved to Heptapod!

Due to BitBucket deprecating Mercurial support, Passlib’s public repository and issue tracker has been relocated. It’s now located at https://foss.heptapod.net/python-libs/passlib, and is powered by Heptapod. Hosting is being graciously provided by the people at Octobus and CleverCloud!


Passlib is a password hashing library for Python 2 & 3, which provides cross-platform implementations of over 30 password hashing algorithms, as well as a framework for managing existing password hashes. It’s designed to be useful for a wide range of tasks, from verifying a hash found in /etc/shadow, to providing full-strength password hashing for multi-user application.

As a quick sample, the following code hashes and then verifies a password using the PBKDF2-SHA256 algorithm:

>>> # import the hash algorithm
>>> from passlib.hash import pbkdf2_sha256

>>> # generate new salt, and hash a password
>>> hash = pbkdf2_sha256.hash("toomanysecrets")
>>> hash

>>> # verifying the password
>>> pbkdf2_sha256.verify("toomanysecrets", hash)
>>> pbkdf2_sha256.verify("joshua", hash)

Getting Started

This documentation is organized into two main parts: a narrative walkthrough of Passlib, and a top-down API reference.


See this page for system requirements & installation instructions.

Walkthrough & Tutorials

New users in particular will want to visit the walkthrough, as it provides introductory documentation including installation requirements, an overview of what passlib provides, and a guide for getting started quickly.

API Reference

The API reference contains a top-down reference of the passlib package.

Other Documentation

This section contains additional things that don’t fit anywhere else, including an FAQ and a complete changelog.


Thanks to the people at Octobus and CleverCloud for providing the repository / issue tracker hosting, as well as development of Heptapod!

Thanks to ReadTheDocs for providing documentation hosting!