_images/masthead.png

Passlib 1.7.0 documentation

Warning

The official Passlib documentation have moved to https://passlib.readthedocs.io. Documentation at this location is still being maintained, but will be updated much less frequently.

Welcome

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
'$pbkdf2-sha256$29000$N2YMIWQsBWBMae09x1jrPQ$1t8iyB2A.WF/Z5JZv.lfCIhXXN33N23OSgQYThBYRfk'

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

Getting Started

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

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.