Skip to main content

The secure Argon2 password hashing algorithm.

Project description

Documentation Status https://travis-ci.org/hynek/argon2_cffi.svg?branch=master https://codecov.io/github/hynek/argon2_cffi/branch/master/graph/badge.svg https://ci.appveyor.com/api/projects/status/3faufu7qgwc8nv2v/branch/master?svg=true https://www.irccloud.com/invite-svg?channel=%23cryptography-dev&hostname=irc.freenode.net&port=6697&ssl=1

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
'$argon2i$v=19$m=512,t=2,p=2$5VtWOO3cGWYQHEMaYGbsfQ$AcmqasQgW/wI6wAHAMk4aQ'
>>> ph.verify(hash, "s3kr3tp4ssw0rd")
True
>>> 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.4+, and PyPy.

Release Information

16.3.0 (2016-11-10)

Vendoring Argon2 @ 1c4fc41f81f358283755eea88d4ecd05e43b7fd3 (20161029)

Changes:

  • Prevent side-effects like the installation of cffi if setup.py is called with a command that doesn’t require it. #20

  • Fix a bunch of warnings with new cffi versions and Python 3.6. #14 #16

  • Add low-level bindings for Argon2id functions.

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 and 3.4 respectively, 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

argon2_cffi-16.3.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

argon2_cffi-16.3.0-cp36-cp36m-win_amd64.whl (39.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

argon2_cffi-16.3.0-cp36-cp36m-win32.whl (36.4 kB view details)

Uploaded CPython 3.6m Windows x86

argon2_cffi-16.3.0-cp36-cp36m-manylinux1_x86_64.whl (85.4 kB view details)

Uploaded CPython 3.6m

argon2_cffi-16.3.0-cp36-cp36m-manylinux1_i686.whl (84.7 kB view details)

Uploaded CPython 3.6m

argon2_cffi-16.3.0-cp36-cp36m-macosx_10_6_intel.whl (57.1 kB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

argon2_cffi-16.3.0-cp35-cp35m-win_amd64.whl (39.7 kB view details)

Uploaded CPython 3.5m Windows x86-64

argon2_cffi-16.3.0-cp35-cp35m-win32.whl (36.4 kB view details)

Uploaded CPython 3.5m Windows x86

argon2_cffi-16.3.0-cp35-cp35m-manylinux1_x86_64.whl (85.5 kB view details)

Uploaded CPython 3.5m

argon2_cffi-16.3.0-cp35-cp35m-manylinux1_i686.whl (84.8 kB view details)

Uploaded CPython 3.5m

argon2_cffi-16.3.0-cp35-cp35m-macosx_10_6_intel.whl (57.1 kB view details)

Uploaded CPython 3.5m macOS 10.6+ intel

argon2_cffi-16.3.0-cp34-cp34m-win_amd64.whl (36.1 kB view details)

Uploaded CPython 3.4m Windows x86-64

argon2_cffi-16.3.0-cp34-cp34m-win32.whl (35.1 kB view details)

Uploaded CPython 3.4m Windows x86

argon2_cffi-16.3.0-cp34-cp34m-manylinux1_x86_64.whl (85.4 kB view details)

Uploaded CPython 3.4m

argon2_cffi-16.3.0-cp34-cp34m-manylinux1_i686.whl (84.7 kB view details)

Uploaded CPython 3.4m

argon2_cffi-16.3.0-cp34-cp34m-macosx_10_6_intel.whl (57.1 kB view details)

Uploaded CPython 3.4m macOS 10.6+ intel

argon2_cffi-16.3.0-cp27-cp27mu-manylinux1_x86_64.whl (88.8 kB view details)

Uploaded CPython 2.7mu

argon2_cffi-16.3.0-cp27-cp27mu-manylinux1_i686.whl (87.9 kB view details)

Uploaded CPython 2.7mu

argon2_cffi-16.3.0-cp27-cp27m-win_amd64.whl (36.3 kB view details)

Uploaded CPython 2.7m Windows x86-64

argon2_cffi-16.3.0-cp27-cp27m-win32.whl (34.8 kB view details)

Uploaded CPython 2.7m Windows x86

argon2_cffi-16.3.0-cp27-cp27m-manylinux1_x86_64.whl (88.8 kB view details)

Uploaded CPython 2.7m

argon2_cffi-16.3.0-cp27-cp27m-manylinux1_i686.whl (87.9 kB view details)

Uploaded CPython 2.7m

argon2_cffi-16.3.0-cp27-cp27m-macosx_10_6_intel.whl (57.1 kB view details)

Uploaded CPython 2.7m macOS 10.6+ intel

File details

Details for the file argon2_cffi-16.3.0.tar.gz.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0.tar.gz
Algorithm Hash digest
SHA256 99a5246d68fb17c33eddc9e8b21cfcb0de1f8360d0bb0b73be5ede20078de3aa
MD5 85d3952536f2d697296cfdeb52cad8e0
BLAKE2b-256 7e965c3abeab8b852ac172210392137c04770b0c85cd086823c5760226b23a36

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 6395ac491bba890e28f037857b95b9fd9bfd4caf2e6457d30050306a8a8eaa7a
MD5 7a73e347640b0c0342cec28922bf2c76
BLAKE2b-256 4c0bc63b08aefad58fcd0266a6c955ed5434550a407d5c30b4203b49c223b30d

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 fcc6d8b9693b97aa35096ba7bd73d327aca66d4bcca807ddfdfe7e7efe8c930f
MD5 16bbdadcbd1dcba191ac36749859ad25
BLAKE2b-256 9a801195b2f121618c20ee11edca2ef0386c32f8db53692c7db6f0a51912039f

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 791397d63bc93d0920aec32d9f5c2269fa127f828b2384c83a96aab83ec6a22c
MD5 c584efdc9b4656524a7242f25bc89c30
BLAKE2b-256 a07c03cb337237a0a9420a6ffd6a277dc10233b5ec50dfcc5d110935cfd11611

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 02ba7fbbc8bac5ce1ecf5baf6de526c76a9f8def46ab5d4d2742f1da4802d5e8
MD5 b42990d61a693cb79b6f5961d18673e7
BLAKE2b-256 c997d7d990e69343777f83084261f36d456fbfb95ca2e40c4948bf83ac91bef5

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 e0d921fc1e8775cf8a3b87bf716967fb2bc725370d8d49ca3f2ae5f6bddcc878
MD5 908ea38a0276ebe9da7f538793fa2281
BLAKE2b-256 dadcf0b24c9b7ee8c816b0fe543a537a7f6ed5d4b545b137d4224dfed1dd3d3e

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 7559b1d447bf9cb14b181749f0547a70ede477c823fc8b5fdf616aed10acbbea
MD5 f2bbeef48ebcaef2b6f8180d5a7bb14e
BLAKE2b-256 54a860b101b0aaeda1dfacacfea002248a81fc985f2fbcd3b74945bad376c0fd

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 0357f3d2b9abad154288aafe49f1fd8b8382a0aad1ab3442acb21886e0765fb9
MD5 1190088dc187be817c1a0fec0293b1ff
BLAKE2b-256 aff7f07e7da578b0699c4d4e36b79ce127aa4838d0396e32b31a17de14a0e219

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9d2ce3d43a07922df6e83eb3d13b2876f2cd1993a591797745fb5c50f747780e
MD5 c1a0eb310ba015a291e3a55b26f012e4
BLAKE2b-256 50991ed80edaebbb3a7c39588717baec3842ccbac911f29cce726dd80559559c

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 5a2767362f9585b9afab828c5e152f220c3e544f384f6f0fe2f58ca6d971766b
MD5 5f0dac13451b986fb24fcd4a8cff4666
BLAKE2b-256 a366113902f3debb31c0d58916f291dd09937d84f7c9396110e535440c0c94ad

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 3a6f8328275c3c14d49ff74b0a37f1bb8d3aee8ea56a64a28e34561168e0ae8f
MD5 ce2e67e98f63f799bedd135591903e70
BLAKE2b-256 a498fa946c6e09d649de96ddd3faf3dd9472ec84dcf2ea7ecf9d9206fea55437

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 8a0b5b4353f985ff44bc9a91e887b56aa3e7ff511b44b8a2b245ceb21b4625f4
MD5 fc5c5e4397225d07e64b2dd95b1c206e
BLAKE2b-256 763fcbefcedb6049f6c78035b731ab04c6c4f79eceab8cb8a1631cb27077bf10

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 008605e1b3c74585c9b3cf53861523c5f03e57021cb8f947099c3fc720c98fdb
MD5 155aebbc9ebb38361ea8cf1a97dadfeb
BLAKE2b-256 6968a9d2482c6ee4cbe6df258169a2679084a93aa1586867acbb2d30b178e142

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8bbfa253833b453c520f0fff9ad3dc8dc2f7f9b9d6ec1f70e693dd467671b9f2
MD5 78878d91a1f8265c292e3b8a1510a2d4
BLAKE2b-256 f3394f17b070a6ac9b0cb868560669b540816591e6cca7e8c51b9ef25eefca14

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 64a5cafb28992458a1f825ffbda3a7291fdc67b2a143060b1a24c396d0699eba
MD5 e3f58800c0a42769fbcdae9e43015f0d
BLAKE2b-256 b531f2ce2c8ff957a273a5131fdc10786ee73dca321453b1c22d5209e20a83f5

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp34-cp34m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp34-cp34m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 4c7d619e46cf561470cbf3ea33b9f324dd30536be51e1e6786b2ed163bc7ccd8
MD5 24677430ab5051d4cc10aea0cc90474f
BLAKE2b-256 05908f40d7c60c9ee486fa18fcf19528f827fb285b72d29a94d2be6d2de90d60

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ef6b7ddf6152d5ccc8172e53b9d130a0cba1b5624da07b15ef2544d7917515b0
MD5 8e91ddb5e3a68e208e342f6e54061b0d
BLAKE2b-256 b7c4a637b218b995ff5c4438c7f24a2c62ca65c69676a79b6294f574a4a287d6

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp27-cp27mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 6308387b138eb80445a91cbdf1f5dc701b5568d668f7ca73a36d24311ebe7ef3
MD5 990f1bd482d02a6548fa1a44ab51b00d
BLAKE2b-256 b3146372517f24e7a5d5a8081357187408c3a01f4fa7c5a1a04a125fe511911d

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 12b1c8100fd38156e336b1fee2e6386ce5ae57efefb6bf55d9b365a64034fb1a
MD5 8037e4210167e781c3b95dfe99224e16
BLAKE2b-256 1a2b19e051b43d2fdd21a18b8498eafc640f9ec7f519bec99eb9657b9bff5115

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp27-cp27m-win32.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 0b1f1244347eb549951908f07064c63d6a7fa3398e82c525502e4e3e0509d121
MD5 1ff8368f8ecd5722ac0175b43c83c83e
BLAKE2b-256 d0ca10ead1206d7ab04599ab073b7dd3d92673822f5537e82a59e3c6356c08a8

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1ba0d486ded2e07786a2abc9baaf9c99217649b049f6d4381fd93d00a08f3cb8
MD5 97bd046f7338321deb5089fafd6b802e
BLAKE2b-256 e20356e3ffeeda094a2e2f619a41dae6c2eaa6cb73fc92328e8712137c28d8b4

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp27-cp27m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 743bad2613f89851d17d17c194081f5260e1934dbceb3bbee5c9f05f4d22ab44
MD5 1050395a57c93f5c6742042b79f9e735
BLAKE2b-256 28fea35f298c9a8887223ee29e30641205f23a97af91cf99a1fc9172bf4eede8

See more details on using hashes here.

File details

Details for the file argon2_cffi-16.3.0-cp27-cp27m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for argon2_cffi-16.3.0-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 126b5015cc646fa3cb0d140b474060756a9bc67a018bf7c195b942130d098362
MD5 ea2fca6769d1176f684aa3fb1013b1d3
BLAKE2b-256 e06bafa686d2833b8927efda2e912857db199ee00149dbefb22a0d33e8a95526

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page