Skip to main content
PyPI Documentation Status Travis CI status AppVeyor CI Status Test Coverage IRC Code style: black

Argon2 won the Password Hashing Competition and argon2-cffi is the simplest way to use it in Python and PyPy:

>>> 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.check_needs_rehash(hash)
False
>>> ph.verify(hash, "t0t411ywr0ng")
Traceback (most recent call last):
  ...
argon2.exceptions.VerifyMismatchError: The password does not match the supplied hash

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

Release Information

19.2.0 (2019-10-27)

Vendoring Argon2 @ 62358ba (20190702)

Backward-incompatible changes:

  • Python 3.4 is not supported anymore. It has been unsupported by the Python core team for a while now and its PyPI downloads are negligible.

    It’s very unlikely that argon2-cffi will break under 3.4 anytime soon, but we don’t test it and don’t ship binary wheels for it anymore.

Deprecations:

none

Changes:

  • The dependency on enum34 is now protected using a PEP 508 marker. This fixes problems when the sdist is handled by a different interpreter version than the one running it. #48

Full changelog.

Credits & License

argon2-cffi is maintained by Hynek Schlawack and released under the MIT license.

The development is kindly supported by Variomedia AG.

A full list of contributors can be found in GitHub’s overview.

Vendored Code

Argon2

The original Argon2 repo can be found at https://github.com/P-H-C/phc-winner-argon2/.

Except for the components listed below, the Argon2 code in this repository is copyright (c) 2015 Daniel Dinu, Dmitry Khovratovich (main authors), Jean-Philippe Aumasson and Samuel Neves, and under CC0 license.

The string encoding routines in src/encoding.c are copyright (c) 2015 Thomas Pornin, and under CC0 license.

The BLAKE2 code in src/blake2/ is copyright (c) Samuel Neves, 2013-2015, and under CC0 license.

The authors of Argon2 also were very helpful to get the library to compile on ancient versions of Visual Studio for ancient versions of Python.

The documentation also quotes frequently from the Argon2 paper to avoid mistakes by rephrasing.

msinttypes

In order to be able to compile on Visual Studio 2008 and Visual Studio 2010 which are required for Python 2.7, we also ship two C headers with integer types. They are from the msinttypes project (auto-import on GitHub) and licensed under New BSD:

Copyright (c) 2006-2013 Alexander Chemeris

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the product nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ‘’AS IS’’ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Release files for argon2-cffi 19.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for argon2-cffi 19.2.0
File Size Uploaded
argon2-cffi-19.2.0.tar.gz 1.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for argon2-cffi 19.2.0
File
argon2_cffi-19.2.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
argon2_cffi-19.2.0-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details
argon2_cffi-19.2.0-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
argon2_cffi-19.2.0-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details
argon2_cffi-19.2.0-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
argon2_cffi-19.2.0-cp36-cp36m-win32.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-32 Details
argon2_cffi-19.2.0-cp35-cp35m-win_amd64.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-64 Details
argon2_cffi-19.2.0-cp35-cp35m-win32.whl CPython 3.5 CPython 3.5 pymalloc Windows x86-32 Details
argon2_cffi-19.2.0-cp34-cp34m-win_amd64.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-64 Details
argon2_cffi-19.2.0-cp34-cp34m-win32.whl CPython 3.4 CPython 3.4 pymalloc Windows x86-32 Details
argon2_cffi-19.2.0-cp34-abi3-manylinux1_x86_64.whl CPython 3.4 abi3 Linux glibc 2.5+ x86-64 Details
argon2_cffi-19.2.0-cp34-abi3-macosx_10_6_intel.whl CPython 3.4 abi3 macOS 10.6+ Intel (x86-64, i386) Details
argon2_cffi-19.2.0-cp27-cp27mu-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64 Details
argon2_cffi-19.2.0-cp27-cp27m-win_amd64.whl CPython 2.7 CPython 2.7 pymalloc Windows x86-64 Details
argon2_cffi-19.2.0-cp27-cp27m-win32.whl CPython 2.7 CPython 2.7 pymalloc Windows x86-32 Details
argon2_cffi-19.2.0-cp27-cp27m-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64 Details
argon2_cffi-19.2.0-cp27-cp27m-macosx_10_6_intel.whl CPython 2.7 CPython 2.7 pymalloc macOS 10.6+ Intel (x86-64, i386) Details

Total release size: 2.7 MB

Release files / argon2-cffi-19.2.0.tar.gz

Download URL argon2-cffi-19.2.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
ffaa623eea77b497ffbdd1a51e941b33d3bf552c60f14dbee274c4070677bda3
BLAKE2b-256 checksum
How to use checksums
e496f1bf2369f29794971f836b8eff5e3bdb653043f1b61d104eae21b1de3ccb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp38-cp38-win_amd64.whl

Download URL argon2_cffi-19.2.0-cp38-cp38-win_amd64.whl
Size 41.1 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
61d2b16c08ce5c24f91d2d2917c2300a90bb78672060876a335e1014727ced57
BLAKE2b-256 checksum
How to use checksums
82a18583712d8ff3075deb18be11bdc5cc50dfbbe00df0c86a6db0c9739545b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp38-cp38-win32.whl

Download URL argon2_cffi-19.2.0-cp38-cp38-win32.whl
Size 37.7 kB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
72fae6bf37c25fdb9b4d30c2b9d658a72ac775249dd132ab3ac03adde619dc14
BLAKE2b-256 checksum
How to use checksums
b2795f1b405640c7f01e5b51809de9b7b8c96e10301792232d46aa7d3bb68de9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp37-cp37m-win_amd64.whl

Download URL argon2_cffi-19.2.0-cp37-cp37m-win_amd64.whl
Size 45.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
e27488da690afac92e87cb61ba9cf9a22bff790413f55655ad017456cd58f22c
BLAKE2b-256 checksum
How to use checksums
ea4b2f04628502b6c884443c1f8be5750b260ad8f0b6ac93b12175a29c563a44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp37-cp37m-win32.whl

Download URL argon2_cffi-19.2.0-cp37-cp37m-win32.whl
Size 42.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
184fee11f483b9168a32afaea8064abe464c1bb090d320f64f3609f1bbbdb691
BLAKE2b-256 checksum
How to use checksums
4c0eee7f407fe832a60b41615eff38845a4be3e237065ccf0b0f1abe5ee9de7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp36-cp36m-win_amd64.whl

Download URL argon2_cffi-19.2.0-cp36-cp36m-win_amd64.whl
Size 45.4 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
13082f670904dcb7f4ef39216139ace2d981f9050a8f3766e566f845e8c634fc
BLAKE2b-256 checksum
How to use checksums
468a16d25f0f585cf4ce9b9a976b54bbc0627b139699f9f07dc5d84d73ac5150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp36-cp36m-win32.whl

Download URL argon2_cffi-19.2.0-cp36-cp36m-win32.whl
Size 42.2 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
246860c7955aa614518a19277b06dda34902c54535aefd9220d07c774391890e
BLAKE2b-256 checksum
How to use checksums
d65a5ad55d3a67ec826c33388b2fe93361f5721e4ce469596afae190d96a6b15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp35-cp35m-win_amd64.whl

Download URL argon2_cffi-19.2.0-cp35-cp35m-win_amd64.whl
Size 41.1 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
e09d644829887c956478db83c47d1ad26f167b8f08e2ccebc6b78e59aeca60b5
BLAKE2b-256 checksum
How to use checksums
d7ad6b1c9e2cab6448d11ce5fe3b0c27ae5621858aa2febae567039f9f941abb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp35-cp35m-win32.whl

Download URL argon2_cffi-19.2.0-cp35-cp35m-win32.whl
Size 37.6 kB
Tags CPython 3.5 CPython 3.5 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
f79045e7673d72ed0f33d78a5e104702f989eb1a0e0eb0ab5534cebc9cdb9142
BLAKE2b-256 checksum
How to use checksums
37c5ffa58d35c593103b821d2aa8fc2d0538aa5ddcae1fa5d82aa5d10932a91f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp34-cp34m-win_amd64.whl

Download URL argon2_cffi-19.2.0-cp34-cp34m-win_amd64.whl
Size 37.1 kB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
0920cfe813cd82e85c4fa84c8a01801a7cb376a8ed8267a1608e70a886953ac7
BLAKE2b-256 checksum
How to use checksums
1720b9a43cfe635267404a50324176017144126adca2e95ef302692534e48a51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp34-cp34m-win32.whl

Download URL argon2_cffi-19.2.0-cp34-cp34m-win32.whl
Size 36.0 kB
Tags CPython 3.4 CPython 3.4 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
748b565d4006a7e9f2b71f9d6ff660b4e150cc38faa29ca1b64b58e238c013b0
BLAKE2b-256 checksum
How to use checksums
031f9b2614e1baecc72175b9a4206b8f81a825ee1dbcc6cf9466a2c775aedc8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp34-abi3-manylinux1_x86_64.whl

Download URL argon2_cffi-19.2.0-cp34-abi3-manylinux1_x86_64.whl
Size 95.2 kB
Tags CPython 3.4 Linux glibc 2.5+ x86-64 abi3
SHA-256 checksum
How to use checksums
49ec16a14e8182ed63daa5d7a13d12da6bfc46eebaac4b238c8d15533b621cf0
BLAKE2b-256 checksum
How to use checksums
15a2370cd7bc181c3a9b1971314f7b33cbd51664749fa1e2bbf22cb9f1ee569b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp34-abi3-macosx_10_6_intel.whl

Download URL argon2_cffi-19.2.0-cp34-abi3-macosx_10_6_intel.whl
Size 65.7 kB
Tags CPython 3.4 abi3 macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
00e94a65d46c3f6f2ffab769e860efc21f77e55bd8fcdfde422bd07c632b3fcc
BLAKE2b-256 checksum
How to use checksums
f15435017b36af1b4ef282d2190e9584f82e76cfafc5198d389b78d901be5d95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp27-cp27mu-manylinux1_x86_64.whl

Download URL argon2_cffi-19.2.0-cp27-cp27mu-manylinux1_x86_64.whl
Size 98.6 kB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
27cb7791793a854ca9f9de5cc62e93c1a7812d11d600ef3ca14fe93ae7426799
BLAKE2b-256 checksum
How to use checksums
da420a14e34fdecbd89742d0c2a869b2ab3ce374d91f4f0b81f762118f56ba4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp27-cp27m-win_amd64.whl

Download URL argon2_cffi-19.2.0-cp27-cp27m-win_amd64.whl
Size 37.3 kB
Tags CPython 2.7 CPython 2.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
0abe0ab4f3ba927367812a5c345dc6ae7d58129e0c47732746da8058cccdfd55
BLAKE2b-256 checksum
How to use checksums
daddea15aad5a52cf28283377ca80a5799eb824b16e7ee54e976baaa4cafb734
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp27-cp27m-win32.whl

Download URL argon2_cffi-19.2.0-cp27-cp27m-win32.whl
Size 35.7 kB
Tags CPython 2.7 CPython 2.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
f2c7f3cd5fe6770fa21ee3d4bb7ba0e1c207e18ead511d912cbf9571c598c345
BLAKE2b-256 checksum
How to use checksums
3e82056517d4be241f92cc443f368b35249b3269cb525522852a75d82ce2379a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp27-cp27m-manylinux1_x86_64.whl

Download URL argon2_cffi-19.2.0-cp27-cp27m-manylinux1_x86_64.whl
Size 98.6 kB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
73976c0b9d0fc847f967835fce93a9d1c07bf7422f74de2316e25ef6d59ee07e
BLAKE2b-256 checksum
How to use checksums
e9f5263655d552b01f96729c66730a902caca5daca4cb4c88270965e0a4ae3da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

Release files / argon2_cffi-19.2.0-cp27-cp27m-macosx_10_6_intel.whl

Download URL argon2_cffi-19.2.0-cp27-cp27m-macosx_10_6_intel.whl
Size 65.6 kB
Tags CPython 2.7 CPython 2.7 pymalloc macOS 10.6+ Intel (x86-64, i386)
SHA-256 checksum
How to use checksums
5335f4caae27c00097bdd17c6a07a0ef32f47364cff3141451229c481f82abc6
BLAKE2b-256 checksum
How to use checksums
b9c8210dd6a33cd160bfcec052487932f270058f7d401ca0b6892cb2c804a863
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page