哪些 .NET 包含的哈希算法适用于密码哈希

本文关键字:哈希 算法 密码 适用于 NET 包含 哪些 | 更新日期: 2023-09-27 18:36:38

LinkedIn的密码泄漏证明了安全散列密码的重要性。然而,即使是用盐散列密码,使用"普通"散列算法(如MD5和SHA系列)也不安全,因为它们针对速度进行了优化,允许黑客每秒计算23亿个哈希(蛮力)。

有一些哈希算法使用起来更安全,因为它们的计算密集度要高得多,例如PBKDF2,Bcrypt,PBMAC和scrypt。但是,这些哈希算法似乎不包含在 .NET 框架中。

那么,.NET 框架中包含哪些性能密集型哈希算法?

答:PBKDF2包含在框架中,本网站展示了如何正确使用它。

哪些 .NET 包含的哈希算法适用于密码哈希

我认为

它不是一个真正有意义的类名,但我确实认为它包含在.NET框架中。根据多个消息来源,Rfc2898DeriveBytes 实际上是 PBKDF2 实现。MSDN也是这么说的。

看为什么我需要使用 Rfc2898DeriveBytes 类(在 .NET 中),而不是直接使用密码作为密钥或 IV?和使用 Rfc2898DeriveBytes 在 C# 中的 PBKDF2 实现

例如。

还有:

http://bcrypt.codeplex.com/(地穴)

http://www.zer7.com/software.php?page=cryptsharp(加密等)

没有100%安全的哈希算法。LinkedIn黑客攻击更多的是由于基础设施/代码安全性,而不是哈希算法。任何哈希都可以计算,只是哈希算法越复杂,花费的时间就越长。一些攻击(如碰撞攻击)在更复杂的哈希上实际上并没有慢得多。

始终确保我散列密码(从不只是加密),限制对服务器的访问。所有为我工作的开发人员都至少了解安全性的基础知识(sql 注入、溢出等),并且我工作的任何知名网站都经过渗透测试。