相同哈希算法中时间差异的原因是什么?

What is reason of time difference in same hashing algorithms?

我已经阅读了 Codeproject 中的这篇文章:

加盐密码哈希-正确执行。

我知道 asp.net 网络表单的最佳哈希算法是 PBKDF2-HMAC-SHA512。然后这个 github 实现:

My implementations of PBKDF2 in PHP, C#, Java, and Ruby.

它基于 PBKDF2-HMAC-SHA1

我用谷歌搜索找到可以帮助我根据 PBKDF2-HMAC-SHA512.

进行哈希的东西

我在 github 上找到了这个图书馆:

therealmagicmike/PBKDF2.NET.

在这个库中,我可以定义我的哈希算法,如 HMACSHA1HMACSHA256HMACSHA384HMACSHA512.

如您所知,HMACSHA1HMACSHA512 快。出于安全原因,这并不好。

但我发现了一些我不知道是真是假的东西!我在同一个页面中实现了这两种算法,并且了解到 adriancs 的算法比 mike 的算法花费的时间更长。 adriancs 的文章不符合逻辑。

所以,我想知道哪种算法最慢,哪种更好?

任何帮助将不胜感激。

非常感谢。

很抱歉这么晚才找到这个。我是 PBKDF2.NET 的作者。速度差异是由于相等比较。 Defuse 的库实现了一个慢速比较功能,我选择将任何自定义比较留给消费者。我的理由是我不想创建一个包含额外的非必要实用函数的库,而是提供算法的正确实现。特定应用程序是否需要慢速比较实际上取决于应用程序,因此我排除了这一点。