同一散列算法中时差的原因是什么?

问题描述 投票:0回答:1

我在Codeproject中读过这篇文章:

盐渍密码散列,这样做,是右派。

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

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

它基于PBKDF2-HMAC-SHA1。

我用谷歌搜索找到一些东西,帮助我根据PBKDF2-HMAC-SHA512制作哈希。

我在github上找到了这个库:

therealmagicmike/PBKDF2.NET

在这个库中我可以定义我的哈希算法,如HMACSHA1,HMACSHA256,HMACSHA384或HMACSHA512。

如您所知,HMACSHA1比HMACSHA512更快。而且出于安全原因它并不好。

但我发现了一些我不知道的事情是真的与否!我已在同一页面中实现了这两种算法,并了解adriancs的算法比迈克的算法需要更长的时间。这对于adriancs的文章来说并不合乎逻辑。

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

任何帮助将不胜感激。

非常感谢。

hash hmac password-encryption pbkdf2
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.