c# - 如何在 C# 中使用 PBKDF2 HMAC SHA-256 或 SHA-512 使用 salt 和迭代对密码进行哈希处理?

标签 c# asp.net encryption

我想找到一种解决方案或方法,允许我添加盐并控制迭代次数。 native Rfc2898DeriveBytes 基于 HMACSHA1。理想情况下,使用 SHA-256 或 SHA-512 将使系统经得起 future 考验。

这是迄今为止我找到的最好的例子:http://jmedved.com/2012/04/pbkdf2-with-sha-256-and-others/但是当我用 SHA-256 运行它时,它实际上比 SHA-512 慢。我使用了 64k 次迭代、salt 的 guid 和不同的相同长度的密码来进行比较。

我还找到了这个解决方案:http://sourceforge.net/projects/pwdtknet/它有完整的源代码可用。它似乎更坚固。

到目前为止,我无法从他们每个人那里获得相同的输出。

最佳答案

PWDTK.NET 库 ( http://sourceforge.net/projects/pwdtknet/ ) 似乎是我能找到的唯一执行 PBKDF2 HMAC SHA-512 并允许加盐和迭代的实现。我无法找到 PBKDF2 HMAC SHA-512 的测试向量来进行测试。

我很惊讶没有更多的开发者已经在使用它。

不太喜欢回答我自己的问题,但由于评论退化为关于速度的讨论并且还没有其他人回答,我不妨回答一下。

感谢所有评论者。

关于c# - 如何在 C# 中使用 PBKDF2 HMAC SHA-256 或 SHA-512 使用 salt 和迭代对密码进行哈希处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16341676/

相关文章:

c# - 如何在 MVVM 中的 wpf 中设置来自资源的图像源

javascript - Accordion 菜单自动折叠

asp.net - MVC 5 使用旧表单例份验证而不是 OWIN

javascript - 使用 PHP mcrypt 加密后使用 Javascript CryptoJS 解密 AES

java - Android RSA加密和Python解密

java - 使用多个 RSA 公钥加密

c# - 调车场算法建模

c# - 删除 RadGrid 中的第 11 行使其变为空白

c# - .Net Core 2.1项目,为什么Nuget会还原.Net 4.6.1包?

c# - 远程主机关闭连接错误,如何解决?