I'm using the following code to generate an encryption salt.
TripleDES tripleDES = TripleDES.Create()
tripleDES.IV = new byte[8];
using (RNGCryptoServiceProvider rngProvider = new RNGCryptoServiceProvider())
{
rngProvider.GetBytes(tripleDES.IV);
}
Rfc2898DeriveBytes keyBytes = new Rfc2898DeriveBytes(Password, tripleDES.IV);
tripleDES.Key = keyBytes.GetBytes(16);
But after calling GetBytes()
, I can see that tripleDES.IV
contains all zeros.
That certainly doesn't seem as random as the documentation suggests.