我在Codeproject中阅读了这篇文章:
盐渍-密码散列-否则-IT-右
我明白asp.net webforms的最佳哈希算法是 PBKDF2-HMAC-SHA512 。然后这个github实现:
My implementations of PBKDF2 in PHP, C#, Java, and Ruby.
它基于 PBKDF2-HMAC-SHA1 。
我搜索了一些可以帮助我根据 PBKDF2-HMAC-SHA512 制作哈希值的内容。
我在github上找到了这个库:
在这个库中我可以定义我的哈希算法,如 HMACSHA1 , HMACSHA256 , HMACSHA384 或 HMACSHA512 。< / p>
如您所知 HMACSHA1 比 HMACSHA512 更快。而且出于安全原因它并不好。
但我发现了一些我不知道的事情是真的与否!我已在同一页面中实现了这两种算法,并了解adriancs的算法比迈克的算法花费更长的时间。并且这与adriancs的文章不符合逻辑。
所以,我想知道哪种算法最慢,哪种算法更好?
任何帮助将不胜感激。
非常感谢。
答案 0 :(得分:1)
很抱歉这么晚才找到。我是PBKDF2.NET的作者。速度差异归因于相等性比较。 Defuse的库实现了慢速比较功能,在这里我选择将所有自定义比较留给使用者。我的理由是,我不想创建具有其他非必需实用程序功能的库,而是希望提供算法的正确实现。特定应用程序是否需要慢速比较确实取决于该应用程序,因此我将其排除在外。