Python password password-hash Security
Need help with argon2-cffi?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.


Secure Password Hashes for Python

235 Stars 26 Forks MIT License 273 Commits 4 Opened issues

Services available

Need anything else?


CFFI-based Argon2 Bindings for Python

.. image:: :target: :alt: Documentation Status

.. image:: :target: :alt: CI Status

.. image:: :target: :alt: Test Coverage

.. image:: :target: :alt: IRC

.. image:: :target: :alt: Code style: black

.. teaser-begin

_ won the
Password Hashing Competition 
_ and
is the simplest way to use it in Python and PyPy:

.. code-block:: pycon

from argon2 import PasswordHasher ph = PasswordHasher() hash = ph.hash("s3kr3tp4ssw0rd") hash # doctest: +SKIP '$argon2id$v=19$m=102400,t=2,p=8$tSm+JOWigOgPZx/g44K5fQ$WDyus6py50bVFIPkjA28lQ' ph.verify(hash, "s3kr3tp4ssw0rd") True ph.checkneedsrehash(hash) False ph.verify(hash, "t0t411ywr0ng") Traceback (most recent call last): ... argon2.exceptions.VerifyMismatchError: The password does not match the supplied hash

\ ’s documentation lives at
Read the Docs 
, the code on
. It’s rigorously tested on Python 2.7, 3.5+, and PyPy.

It implements Argon2 version 1.3, as described in

Argon2: the memory-hard function for password hashing and other applications 

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.