我正在开发一个网站,该网站需要用户注册才能使用它的功能,我想知道 SHA-256 + salt(由 RNGCryptoServiceProvider 在 C# 中提供的随机盐)是否安全且足以在 2017 年使用?
SHA-256 + Salt 对于密码存储是否仍然安全?
信息安全
密码
密码学
哈希
sha256
2021-08-27 16:50:32
2个回答
对于密码存储,不建议使用加盐 SHA256 哈希。这是因为通用 SHA256 的设计速度很快。快速正是密码散列算法所不想要的,因为它使蛮力和字典攻击更加有效。
密码存储哈希被设计为需要一定的工作量,在某些情况下,需要最低的内存要求。良好的密码存储方案旨在难以序列化和/或优化。
2017 年推荐的密码存储方案是 BCrypt 哈希,使用 PBKDF2 作为替代方案,但考虑较少。
如需更完整的答案,请阅读Thomas Pornin关于密码散列的 sec.se “标准答案”。
它可能是 - 如果它符合您对您认为它面临的潜在威胁的风险评估。
但我建议您考虑使用基于密码的派生函数。这些是基于散列的样式函数,非常适合密码存储。
为您的 C# 应用程序查看 PBKF#2。还有广泛使用的 Bcrypt(尽管我使用前者和 C#,因为它是原生的)
这可能会有所帮助:https ://lockmedown.com/hash-right-implementing-pbkdf2-net/
但我建议您查看 MSDN 文档以获取最新信息。
其它你可能感兴趣的问题