我对PBKDF2及其处理步骤知之甚少。要了解更多信息,我开始阅读并查看代码。我在谷歌看过这样的代码。对于AES-128bit,N的值是16.我的问题是,随机使用我可以在多大程度上增加N的值?可以50吗?还是100?有没有上限?
string password = "123456789";
string salt = "987654321";
Rfc2898DeriveBytes keyGenerator = new Rfc2898DeriveBytes(password, Encoding .UTF8 .GetBytes (salt ),10000);
byte[] key1 = keyGenerator.GetBytes(N);
答案 0 :(得分:1)
根据RFC 2898派生密钥的最大长度为(2^32 - 1) * hLen
,其中hLen为
伪随机函数输出的八位字节长度。
Rfc2898DeriveBytes类使用HMAC-SHA1伪随机函数,该函数输出20个字节,因此在您的情况下,N的最大理论值为85899345900。