同时也是 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的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 764be14e6be898696ae4d1ca866384994876514a6e9933afa190f34b1bc05c1f |
|
| MD5 | 890403e0265dbc9b8d31b0259ce5e7b1 |
|
| 布莱克2-256 | 044740ed5c9b7e9451650dd50ef3a7ae464e0f694d5f02399205f6b3874cc707 |