Skip to main content

同时也是 Python 中最简单最强大的 Argon2 实现

项目描述

pyargon2

同时也是 Python 中 Argon2 最简单和最强大的实现。

安装

pip install pyargon2

基本用法

散列函数支持使用 Argon2id 变体的基本密码散列,并要求使用密码和盐字符串。返回的结果哈希是十六进制编码的。

from pyargon2 import hash

password = 'a strong password'
salt = 'a unique salt'
hex_encoded_hash = hash(password, salt)

默认参数旨在在大约 0.5 秒内生成散列,并针​​对装有具有 4 个内核和至少 4GB RAM 的 CPU 的机器。如果您的机器上的时间差异很大,请使用下面的高级选项调整参数。 请记住,为了安全起见,密码散列应该很慢,所以不要优化速度!

高级用法

功能参数

哈希函数接受以下参数:

位置
  • password:表示密码的字符串。
  • salt:表示唯一盐的字符串。
关键词
  • pepper:一个秘密字符串,可折叠成密码的哈希值。
  • hash_len:生成的哈希的字节长度。
  • time_cost:要执行的迭代次数。
  • memory_cost:内存中要使用的千字节数。
  • 并行度:要运行的独立计算链(通道)的数量。
  • flags:确定哪些字段被安全擦除的标志。
  • 变体:Argon2 算法变体('i'、'd' 或 'id')。
  • version:Argon2 算法版本号。
  • encoding:返回的哈希类型('raw'、'hex' 或 'b64')的编码。

有关参数选择的帮助,请参阅RFC 草案,特别是“第 4 章:参数选择”。

函数异常

底层 Argon2 散列函数生成的异常在Argon2Error可以导入的类下引发,如下所示:

from pyargon2 import Argon2Error

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pyargon2-1.0.0.tar.gz (56.3 kB 查看哈希

已上传 source