Skip to main content

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环境变量来控制进程:

  • 如果将其设置为1argon2-cffi-bindings使用SSE2 支持构建。
  • 如果将其设置为0则 argon2-cffi-bindings将在没有SSE2 支持的情况下构建。
  • 如果您将其设置为其他任何值,它将被忽略并且argon2-cffi-bindings将尝试猜测。

但是,如果我们的启发式方法未能满足您的要求,我们将欢迎您提交错误报告。

Python API

由于此包旨在作为实现细节,因此它使用私有模块名称来防止您的用户意外使用它。

因此,您必须从以下位置导入符号_argon2_cffi_bindings

from _argon2_cffi_bindings import ffi, lib

请参阅cffi文档了解如何使用ffilib对象。

提供的符号列表可以在_ffi_build.py文件中找到。

项目信息

argon2-cffi-bindings在 MIT 许可下可用,可从PyPI获得,源代码和文档可以在GitHub上找到。

argon2-cffi-bindings针对 Python 3.6 及更高版本,包括 PyPy3。

学分和许可证

argon2-cffi-bindingsHynek 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.tar.gz (1.8 MB 图哈希)

已上传 source

内置发行版

argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl (28.6 kB 查看哈希

已上传 pp38

argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl (28.6 kB 查看哈希

已上传 pp37

argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl (53.1 kB 查看哈希

已上传 cp38

argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl (30.8 kB 查看哈希

已上传 cp36

argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl (27.7 kB 查看哈希

已上传 cp36

argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl (88.5 kB 查看哈希

已上传 cp36

argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl (84.6 kB 查看哈希

已上传 cp36

argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl (83.6 kB 查看哈希

已上传 cp36

argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl (29.7 kB 查看哈希

已上传 cp36