【发布时间】:2017-11-16 11:57:52
【问题描述】:
我正在寻找在我当前的应用程序中用于密码加密的哈希算法。我偶然发现了这个链接
https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet
Argon2[*7] 是密码哈希竞赛的获胜者,应该被视为您新应用程序的首选; PBKDF2 [*4] 需要FIPS认证或多平台企业支持时; scrypt [*5] 需要抵抗任何/所有硬件加速攻击,但不需要支持。 bcrypt,其中 PBKDF2 或 scrypt 支持不可用。
我没有使用过任何这些早期项目,我知道 SHa-256。但我想知道哪一个是加密密码的最佳算法。 考虑计算、内存使用、返回哈希值长度、是否需要使用盐值。
他们还建议使用 Argon2 ,但它相对较新。我们可以使用它吗?推荐吗?
关于这些的任何建议。
【问题讨论】:
-
SHA-256 还不够好吗?
-
没有 SHA-256 不够好,它速度很快,这意味着暴力攻击是可行的。需要的是一种密码散列方法,该方法会消耗大量 CPU 时间和资源,通常在 100 毫秒左右,对于典型密码,SHA-256 的运行时间约为 1us。
标签: .net security encryption password-encryption