password leak of LinkedIn证明了安全地散列密码的重要性。但是,即使使用“正常”哈希算法(例如MD5和SHA系列)对盐进行散列密码也不安全,因为它们针对速度进行了优化,这使得黑客可以计算每秒2300万次哈希值(蛮力)。 / p>
有些散列算法使用起来更安全,因为它们的计算量更大,例如PBKDF2,Bcrypt,PBMAC和scrypt。但是,这些散列算法似乎不包含在.NET框架中。
那么,.NET框架中包含哪些性能密集的散列算法?
答案:PBKDF2包含在框架中this site shows how to use it properly。
答案 0 :(得分:12)
我认为这不是一个真正有意义的类名,但我确实认为它包含在.NET框架中。根据多个消息来源,Rfc2898DeriveBytes实际上是PBKDF2实现。 MSDN也这么说。
请参阅 Why do I need to use the Rfc2898DeriveBytes class (in .NET) instead of directly using the password as a key or IV? 和 PBKDF2 implementation in C# with Rfc2898DeriveBytes
例如。
答案 1 :(得分:1)
答案 2 :(得分:-1)
没有100%安全的散列算法。与哈希算法相比,linkedin hack更多是由于基础设施/代码安全性。可以计算任何哈希值,只需要更长的时间,哈希算法就越复杂。在更复杂的哈希上,一些攻击(例如碰撞攻击)实际上要慢得多。
我总是确保我哈希密码(从不加密),限制对服务器的访问。所有为我工作的开发人员至少了解安全性的基础知识(sql注入,溢出等),并且我工作的任何高调网站都经过笔测试。