密码的哈希算法

时间:2017-11-16 11:57:52

标签: .net security encryption password-encryption

我正在寻找在我当前的密码加密应用程序中使用的散列算法。我遇到了这个链接

https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet

Argon2 [* 7]是密码哈希竞赛的获胜者,应被视为新申请的首选; PBKDF2 [* 4]需要在许多平台上进行FIPS认证或企业支持; scrypt [* 5]需要抵制任何/所有硬件加速攻击,但支持不是。 bcrypt,其中PBKDF2或scrypt支持不可用。

我没有使用过任何这些早期的项目,我知道SHa-256。但我想知道哪一个是加密密码的最佳算法。 考虑计算,使用的内存,返回哈希值长度,是否需要使用salt值。

他们也建议使用Argon2,但它相对较新。我们可以用吗?是推荐吗?

对此有任何建议。

1 个答案:

答案 0 :(得分:0)

仅使用哈希函数保存密码验证程序是不够的,只添加一个盐对提高安全性几乎没有作用。

而是使用随机盐在HMAC上迭代大约100毫秒的持续时间并使用哈希值保存盐。

更好地使用PBKDF2Rfc2898DeriveBytesArgon2password_hashBcrypt或类似功能等功能。

重点是让攻击者花大量时间通过暴力破解密码。

PBKDF2也被称为Rfc2898和Rfc2898DeriveBytes是当前NIST批准的方法,Argon2是一个更好的解决方案,但并不广泛使用。