其中,.NET的包括散列算法是密码哈希足够安全?(Which of the .NET include

2019-06-25 08:55发布

在LinkedIn的密码泄露证明它是多么的重要安全散列密码。 然而,与盐甚至散列的口令不与“正常”散列算法(例如MD5和SHA家族)固定,因为它们是为速度,这允许黑客计算每秒(蛮力)23个亿散列优化。

有散列algoritms是使用更安全,因为他们更计算密集型的,如PBKDF2 , Bcrypt ,PBMAC和scrypt 。 这些散列算法然而,似乎并不包括在.NET框架。

所以,这就性能密集型的哈希算法包括在.NET框架?

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

Answer 1:

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

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

例如。



Answer 2:

此外还有:

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

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



Answer 3:

没有散​​列algorith是100%的安全。 LinkedIn的黑客更起因于散列算法的基础设施/代码的安全性。 任何哈希可以计算出,它只是需要更长更复杂的散列algortihm是。 有些攻击如碰撞攻击实际上并不慢得多来完成对更复杂的哈希值。

我总是确保我散列密码(永远只是加密),限制对服务器的访问。 所有的开发workingfor我理解至少安全的基础(SQL注入,溢出等),任何高调的网站,我的工作是笔测试。



文章来源: Which of the .NET included hashing algorithms are secure enough for password hashing?