【发布时间】:2021-05-17 17:53:09
【问题描述】:
我正在使用Rfc2898DeriveBytes 生成AES 密钥和iv。但是,听说iv 不应该依赖密码。这是我现在的做法:
byte[] salt = GenerateRandomBytes(32); // Generates 32 random bytes
using (Rfc2898DeriveBytes rfc = new Rfc2898DeriveBytes(plainStrPassword, salt)) {
byte[] aesKey = rfc.GetBytes(32);
byte[] iv = rfc.GetBytes(16); // Should I do this or generate it randomly?
}
我的问题:从Rfc2898DeriveBytes 生成iv 是否可以(安全)?还是应该使用RNGCryptoServiceProvider 随机生成?
【问题讨论】:
标签: c# security encryption aes