13

LinkedIn的密码泄露证明了安全地散列密码的重要性。但是,即使使用“普通”哈希算法(例如 MD5 和 SHA 系列)对密码进行哈希处理也不安全,因为它们针对速度进行了优化,允许黑客每秒计算 23 亿次哈希(蛮力)。

有些哈希算法使用起来更安全,因为它们的计算量更大,例如PBKDF2Bcrypt、 PBMAC 和scrypt。然而,这些散列算法似乎并未包含在 .NET 框架中。

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

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

4

3 回答 3

12

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

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

例如。

于 2012-06-08T12:43:21.770 回答
1

还有:

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

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

于 2012-06-08T15:15:51.387 回答
-1

没有 100% 安全的散列算法。LinkedIn hack 更多是由于基础设施/代码安全而不是散列算法。可以计算任何散列,散列算法越复杂,它需要的时间越长。在更复杂的散列上完成某些攻击(例如碰撞攻击)实际上并不会慢很多。

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

于 2012-06-08T13:24:47.970 回答