Argon2id 此包提供了一个便利的封装,围绕 Go 的 argon2 实现,使得使用 Argon2 对密码进行安全哈希和验证更加简单。 它强制使用 Argon2id 算法变体和密码学上安全的随机盐。
- 内存 — Argon2 算法所使用的内存量 (以 kibibyte 为单位)。 * 迭代次数 — 迭代次数 (或循环次数) 为内存的多少。 * 并行性 — 算法使用的线程数 (或通道数)。 * 盐长度 — 随机盐的长度。 密码散列时建议使用 16 个字节。 * 密钥长度 — 生成的密钥 (或密码散列) 的长度。 建议使用 16 个字节或更长。
如果代码在具有多个核心的机器上运行,则可以通过增加"并行性"参数来缩短运行时间,而不降低成本。该参数控制将工作分散到多少线程。重要说明:更改"并行性"参数的值会改变哈希输出。有关选择适当参数的指导和概述流程,请参阅https://tools.ietf.org/html/draft-irtf-cfrg-argon2-04#section-4.