Skip to main content

Low-level CFFI bindings for Argon2

Project description

Python CFFI Bindings for Argon2

argon2-cffi-bindings provides low-level CFFI bindings to the Argon2 password hashing algorithm including a vendored version of them.

The currently vendored Argon2 commit ID is f57e61e.

If you want to hash passwords in an application, this package is not for you. Have a look at argon2-cffi with its high-level abstractions!

These bindings have been extracted from argon2-cffi and it remains its main consumer. However, they may be used by other packages that want to use Argon2 library without dealing with C-related complexities.

Usage

The provided CFFI bindings are compiled in API mode. Best effort is given to provide binary wheels for as many platforms as possible.


A copy of Argon2 is vendored and used by default, but can be disabled if argon2-cffi-bindings is installed using:

$ env ARGON2_CFFI_USE_SYSTEM=1 \
  python -m pip install --no-binary=argon2-cffi-bindings argon2-cffi-bindings

Python API

Since this package is intended to be an implementation detail, it uses a private module name. Therefore you have to import the symbols from _argon2_cffi_bindings:

from _argon2_cffi_bindings import ffi, lib

Please refer to cffi documentation on how to use the ffi and lib objects.

The list of symbols that are provided can be found in the _ffi_build.py file.

Project Information

argon2-cffi-bindings is available under the MIT license, available from PyPI, the source code and documentation can be found on GitHub.

argon2-cffi-bindings targets Python 3.6 and later, including PyPy3.

Credits & License

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

The development is kindly supported by Variomedia AG.

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

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

Vendored Code

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.

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-bindings-21.1.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-win_amd64.whl (27.8 kB view details)

Uploaded PyPy Windows x86-64

argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (29.9 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (22.9 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-win_amd64.whl (27.8 kB view details)

Uploaded PyPy Windows x86-64

argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (29.9 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (22.9 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

argon2_cffi_bindings-21.1.0-cp36-abi3-win_amd64.whl (30.0 kB view details)

Uploaded CPython 3.6+ Windows x86-64

argon2_cffi_bindings-21.1.0-cp36-abi3-win32.whl (26.9 kB view details)

Uploaded CPython 3.6+ Windows x86

argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_x86_64.whl (87.7 kB view details)

Uploaded CPython 3.6+ musllinux: musl 1.1+ x86-64

argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_i686.whl (83.8 kB view details)

Uploaded CPython 3.6+ musllinux: musl 1.1+ i686

argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_aarch64.whl (82.8 kB view details)

Uploaded CPython 3.6+ musllinux: musl 1.1+ ARM64

argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (85.3 kB view details)

Uploaded CPython 3.6+ manylinux: glibc 2.17+ x86-64

argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (79.7 kB view details)

Uploaded CPython 3.6+ manylinux: glibc 2.17+ ARM64

argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (81.9 kB view details)

Uploaded CPython 3.6+ manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

argon2_cffi_bindings-21.1.0-cp36-abi3-macosx_10_9_x86_64.whl (28.8 kB view details)

Uploaded CPython 3.6+ macOS 10.9+ x86-64

File details

Details for the file argon2-cffi-bindings-21.1.0.tar.gz.

File metadata

  • Download URL: argon2-cffi-bindings-21.1.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2-cffi-bindings-21.1.0.tar.gz
Algorithm Hash digest
SHA256 5b3c72b092761e9aa8a8335096c409e9d68d127ae64520848d1d9d47459c4650
MD5 bad36436b74cbdd6f2eadb888e3bb371
BLAKE2b-256 fec71796c08bc2834424326bec6fffb81bd082cb6c78b278fd0a55b2a09b0454

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-win_amd64.whl.

File metadata

  • Download URL: argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-win_amd64.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: PyPy, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 0906e4fb3ba399148e80d0a189d8f7ff07ce3a67cce684d6669b106539105ce3
MD5 46ca401fdc0dd8c2edea12856bce2298
BLAKE2b-256 b351647da1cea1cc7466b65a7dff05275af6a7ddfe8c733fd514936208671c1f

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88f6b1a635c646d3a55b7d9b02dec5ea1de12563a8df09e642d829e6324c1136
MD5 fec43383066f53f03aec30ed6654673e
BLAKE2b-256 ef8ff526c27086b308dda4ce075d06318ebf82b1274c267d6db382d807dc4f67

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8d9fe406e29023c61d422966b6e15b53f78ca38f28ff8a697c7c47307b9de6af
MD5 104b1a0470bed2a41c90b927c5e84c0f
BLAKE2b-256 200e12991b36dc7905bde2ec0f8123124cdf480381a21b659d941ecf39746a13

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 14f89f97f81c76c92c837c067533cf13903b7b0596c65ad1ee6e18f7b2ea05f7
MD5 54fea0fa9d13530fa0194661b4afe314
BLAKE2b-256 7913dfc83dfa2702ef0f2340552cff5ba56170f4f25d6d1ed78e96c8446cf962

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0f7f01d62395ca0e38ff2c15c3c53cac38d811c8319d1a9b4746050c4d215b78
MD5 3355b0845ead3ade51816c38701e131d
BLAKE2b-256 34c2f03a51f9ff9080d8b69c7b14cfd2f8846e1d9c58be97118c304da1a78ea4

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-win_amd64.whl.

File metadata

  • Download URL: argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-win_amd64.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: PyPy, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 2754d4acee2d9bea7be678c36f240b446e9d5508bd3e35b464bb887f9977965d
MD5 534f2d65bcfe4dfe816dccb206918839
BLAKE2b-256 c84e33ee23f2d8f9c085a6999a6d7bb830c58c41fea0be61069cc9d26ec19683

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 011e81055ce321bd1160e4e3e784208fceeaebf21205e34f9b83b39d84207706
MD5 6cbafee7f849f97677a67fbd213237d3
BLAKE2b-256 1481910c28d3621946f2b5dbb9b8f7253040b969b2ec5f0ac3b68af55e131135

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de9990ee2706fb2e5a2ba40fe5b4a9f9a26e78ea3652537942abe1705bb210ab
MD5 cf59c763af9a3d40a5b4d1fbd17bc5cc
BLAKE2b-256 a94e71a979b73108056b73857beca07d6342c92a980c30551c5dbadc501e5d3e

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c069432389c33997610b29ecbeeceb41cb20ccb5923297fb9a35326caec65bda
MD5 bec216d0a02bb85c306114989e90caee
BLAKE2b-256 95611b9e1004d54c4ceb4c9485dfcae588d391b45647bb65a7025729fb9e19ad

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4d52df57685a18ccc07a081387dac2da3d942de79f5a01a89e0550d86551ab4d
MD5 d328028f17f45f17bdd3e82c606e857b
BLAKE2b-256 ac4dfed2796a7b880e1ee1f3e5293d6b4e4336b63c4933b1704efc9c7ec71072

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-win_amd64.whl.

File metadata

  • Download URL: argon2_cffi_bindings-21.1.0-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: CPython 3.6+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8b2d10af54d19da3c8769e9ce3bed7fcaee0e65d91026ce021521eefc7c1fadb
MD5 2b33587944fca0259252bdb7bfbab366
BLAKE2b-256 87cb69cc48d89e9594bf79256b9cbee09776fd5cecd57ee3ef09949f3b3296f9

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-win32.whl.

File metadata

  • Download URL: argon2_cffi_bindings-21.1.0-cp36-abi3-win32.whl
  • Upload date:
  • Size: 26.9 kB
  • Tags: CPython 3.6+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-win32.whl
Algorithm Hash digest
SHA256 6194867f53f9a3bd9c55010310255cecb53e6032145212f9568a4665c4a36dae
MD5 7ebbaf25957a8c3bff78fd7ba05f04d8
BLAKE2b-256 cf532d0eefb1294998b842565f502ef3d179b81fcf07be4a9dfef61c7b54ca88

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_x86_64.whl.

File metadata

  • Download URL: argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 87.7 kB
  • Tags: CPython 3.6+, musllinux: musl 1.1+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 66c71edfd88d692c666987d31d3e303e6d3a63b757e75dff2ab274212b76ec50
MD5 0299e5b8859081d225625bd0e0e55ddb
BLAKE2b-256 b6c9edd7c8494599d2cf4fd8b5336b4079ba1692dc828968eb8bd946c6217c72

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_i686.whl.

File metadata

  • Download URL: argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 83.8 kB
  • Tags: CPython 3.6+, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 41384c550bd60d47de6b0c1704b712b8157124aa86e4c5766bce4901ed9f1d71
MD5 d6c518d2d32b2e52f6f2a67e427f14fe
BLAKE2b-256 5cf8fa379422120b62c655f9780013cccfb08be7120a691be8a8a781343c482a

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_aarch64.whl.

File metadata

  • Download URL: argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 82.8 kB
  • Tags: CPython 3.6+, musllinux: musl 1.1+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 9c3b014d5d4b3ee137eb317c73fb568679ab87f09efd56db92dacf9be9deea80
MD5 add951a283f6e55167ff531e785d6788
BLAKE2b-256 e02651c529467822575eef4da730623653d318480e457a3e9a25d1c60ace3bd0

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c27974ba9dbe65883f54d7026215620ad9a97e318f39a5cb52f7822452f0bad0
MD5 e48e3367382b257202956b5d68e666d6
BLAKE2b-256 fc091842790beebea0f1a08314fbab3061ce4fba02c68f7c5999c038b82eb445

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 37d34ae2bcc65763556f341986b692928a3d93d66e6790f7d97b966e677439ff
MD5 d4f0baf7a82291cb3fd8ac0de553633b
BLAKE2b-256 149e62a77505af428656a24646543f0f6555700c0f83cae1f12ba7d52b6c8364

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 889cdb2df59d59f3d6ad72ee1c9a156dada90aa16ac9e38372edaa226a656411
MD5 fe9fe704d285b81d485c9e4d2fb2f3f9
BLAKE2b-256 66b8cf9ac9bace87fcc9921f4d3511cd144be64bc3a4c546902f01b607e0f44e

See more details on using hashes here.

File details

Details for the file argon2_cffi_bindings-21.1.0-cp36-abi3-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: argon2_cffi_bindings-21.1.0-cp36-abi3-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 28.8 kB
  • Tags: CPython 3.6+, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6b3e5b653c41266841f3c84067cf083406757f218366f9f34f14c1158858b2c8
MD5 fdb41c5836476b08e5c856ce01d62f12
BLAKE2b-256 c54122b8d6ed6b1f6382185caaa33c919e4c2d33aebc1944901ecdef4650d7aa

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