Argon2 的低级 CFFI 绑定
项目描述
Argon2 的低级 Python CFFI 绑定
argon2-cffi-bindings为Argon2密码散列算法提供低级CFFI绑定,包括它们的供应商版本。
当前供应的Argon2提交 ID 是f57e61e
.
如果您想在应用程序中对密码进行哈希处理,此软件包不适合您。看看argon2-cffi及其高级抽象!
这些绑定是从argon2-cffi中提取的,它仍然是它的主要消费者。但是,它们可能被其他想要使用Argon2库而不处理与 C 相关的复杂性的包使用。
用法
argon2-cffi-bindings可从PyPI获得。提供的CFFI绑定以 API 模式编译。
尽最大努力为尽可能多的平台提供二元轮。
禁用供应商代码
默认情况下出售和使用Argon2的副本,但如果使用以下方式安装argon2-cffi-bindings,则可以禁用:
$ env ARGON2_CFFI_USE_SYSTEM=1 \
python -m pip install --no-binary=argon2-cffi-bindings argon2-cffi-bindings
覆盖自动SSE2检测
通常,构建过程会尝试猜测它是否应该使用SSE2优化的代码(请参阅_ffi_build.py
详细信息)。这可能会出错并且对于交叉编译来说是有问题的。
因此,您可以使用ARGON2_CFFI_USE_SSE2
环境变量来控制进程:
- 如果将其设置为
1
,argon2-cffi-bindings将使用SSE2 支持构建。 - 如果将其设置为
0
,则 argon2-cffi-bindings将在没有SSE2 支持的情况下构建。 - 如果您将其设置为其他任何值,它将被忽略并且argon2-cffi-bindings将尝试猜测。
但是,如果我们的启发式方法未能满足您的要求,我们将欢迎您提交错误报告。
Python API
由于此包旨在作为实现细节,因此它使用私有模块名称来防止您的用户意外使用它。
因此,您必须从以下位置导入符号_argon2_cffi_bindings
:
from _argon2_cffi_bindings import ffi, lib
请参阅cffi文档了解如何使用ffi
和lib
对象。
提供的符号列表可以在_ffi_build.py
文件中找到。
项目信息
argon2-cffi-bindings在 MIT 许可下可用,可从PyPI获得,源代码和文档可以在GitHub上找到。
argon2-cffi-bindings针对 Python 3.6 及更高版本,包括 PyPy3。
学分和许可证
argon2-cffi-bindings由Hynek Schlawack编写和维护。它是在MIT 许可下发布的。
Variomedia AG大力支持该开发。
Argon2的作者非常有助于让该库在古代版本的 Visual Studio 上为 Python 的古代版本进行编译。
该文档经常逐字引用Argon2 论文,以避免通过改写出现错误。
供应商代码
原始Argon2 存储库可以在https://github.com/PHC/phc-winner-argon2/找到。
除了下面列出的组件,此存储库中的Argon2代码版权所有 (c) 2015 Daniel Dinu、Dmitry Khovratovich(主要作者)、Jean-Philippe Aumasson 和 Samuel Neves,并在CC0许可下。
src/encoding.c 中的字符串编码例程版权所有 (c) 2015 Thomas Pornin,并在CC0许可下。
中的BLAKE2代码src/blake2/
版权所有 (c) Samuel Neves, 2013-2015,并在CC0许可下。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置发行版
argon2_cffi_bindings -21.2.0-pp38-pypy38_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a |
|
MD5 | d68ab5ffa03d9d14a1e0ad8a407b19ef |
|
布莱克2-256 | ed55f8ba268bc9005d0ca57a862e8f1b55bf1775e97a36bd30b0a8fb568c265c |
argon2_cffi_bindings -21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670 |
|
MD5 | e79ecae27c6ef91f8a79373ea0bee2cf |
|
布莱克2-256 | 2ef148888db30b6a4a0c78ab7bc7444058a1135b223b6a2a5f2ac7d6780e7443 |
argon2_cffi_bindings -21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d |
|
MD5 | 19daf339d7f8cb7bebd10c0adc043e04 |
|
布莱克2-256 | 43f320bc53a6e50471dfea16a63dc9b69d2a9ec78fd2b9532cc25f8317e121d9 |
argon2_cffi_bindings -21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb |
|
MD5 | eea408c8fc12ce0d66c2e59de6a88305 |
|
布莱克2-256 | ee0fa2260a207f21ce2ff4cad00a417c31597f08eafb547e00615bcbf403d8ea |
argon2_cffi_bindings -21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583 |
|
MD5 | 98bd7d18e4b0f107437c45dad58e6840 |
|
布莱克2-256 | 34dad105a3235ae86c1c1a80c1e9c46953e6e53cc8c4c61fb3c5ac8a39bbca48 |
argon2_cffi_bindings -21.2.0-pp37-pypy37_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7 |
|
MD5 | 8bc7aba976d1b05c25774d0e93fd5801 |
|
布莱克2-256 | f464bef937102280c7c92dd47dd9a67b6c76ef6a276f736c419ea538fa86adf8 |
argon2_cffi_bindings -21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5 |
|
MD5 | 4f7ccff544e0d33b4ffcb3755ed779dd |
|
布莱克2-256 | 8c1bb2abebe25743daf80db3ee3ea37e4d446c8fbcc5abb7c06baf7261f5678d |
argon2_cffi_bindings -21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f |
|
MD5 | 0bd8d0129e8908a95a5db771060c578a |
|
布莱克2-256 | dc46610263c404f33127878515819217aafd150906814624c31a6ad18a0a40fb |
argon2_cffi_bindings -21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f
|