我想找到一种解决方案或方法,允许我添加盐并控制迭代次数。 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/