我找不到一种方法来指定PBKDF2 (Rfc2898导数类)实现在C# System.Security.Cryptography中使用的哈希算法。
它似乎只是SHA1。我是不是遗漏了什么?我希望用PBKDF2-SHA 256。
发布于 2012-09-06 11:13:05
看一看这篇博客文章:作者显然注意到这个Rfc2898DeriveBytes班级 of .NET中同样缺乏SHA-256支持,并开始编写自己的代码。(我没有看过该代码,也无法保证它的质量。)
否则,按照对PBKDF2的描述(第5.2节),用HMAC/SHA-256重新实现RFC 2898并不太困难。.NET包括一个HMAC/SHA-256的实现。
发布于 2022-12-21 19:47:15
在2022年,您可以选择这样的散列算法:
byte[] key = Rfc2898DeriveBytes.Pbkdf2(password, salt, 1000000, HashAlgorithmName.SHA512, 32);其中salt应该是一个随机字节数组。
最后一个数字是键的长度。
https://security.stackexchange.com/questions/19817
复制相似问题