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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for argon2-cffi-bindings-21.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b3c72b092761e9aa8a8335096c409e9d68d127ae64520848d1d9d47459c4650 |
|
MD5 | bad36436b74cbdd6f2eadb888e3bb371 |
|
BLAKE2b-256 | fec71796c08bc2834424326bec6fffb81bd082cb6c78b278fd0a55b2a09b0454 |
Hashes for argon2_cffi_bindings-21.1.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0906e4fb3ba399148e80d0a189d8f7ff07ce3a67cce684d6669b106539105ce3 |
|
MD5 | 46ca401fdc0dd8c2edea12856bce2298 |
|
BLAKE2b-256 | b351647da1cea1cc7466b65a7dff05275af6a7ddfe8c733fd514936208671c1f |
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 |
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 |
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 |
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 |
Hashes for argon2_cffi_bindings-21.1.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2754d4acee2d9bea7be678c36f240b446e9d5508bd3e35b464bb887f9977965d |
|
MD5 | 534f2d65bcfe4dfe816dccb206918839 |
|
BLAKE2b-256 | c84e33ee23f2d8f9c085a6999a6d7bb830c58c41fea0be61069cc9d26ec19683 |
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 |
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 |
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 |
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 |
Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b2d10af54d19da3c8769e9ce3bed7fcaee0e65d91026ce021521eefc7c1fadb |
|
MD5 | 2b33587944fca0259252bdb7bfbab366 |
|
BLAKE2b-256 | 87cb69cc48d89e9594bf79256b9cbee09776fd5cecd57ee3ef09949f3b3296f9 |
Hashes for argon2_cffi_bindings-21.1.0-cp36-abi3-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6194867f53f9a3bd9c55010310255cecb53e6032145212f9568a4665c4a36dae |
|
MD5 | 7ebbaf25957a8c3bff78fd7ba05f04d8 |
|
BLAKE2b-256 | cf532d0eefb1294998b842565f502ef3d179b81fcf07be4a9dfef61c7b54ca88 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |