Try this one!
THis generates a unique sequence without the need for a random seed.
http://msdn.microsoft.com/en-us/library/system.security.cryptography.randomnumbergenerator.aspx[
^]
Code example for file encryption using a random salt for the Rijndael algorithm:
private void button2_Click(object sender, EventArgs e)
{
RandomNumberGenerator rng = RandomNumberGenerator.Create();
byte[] IV = new byte[16];
byte[] salt = new byte[16];
rng.GetNonZeroBytes(IV);
rng.GetNonZeroBytes(salt);
Rfc2898DeriveBytes passwordHasher = new Rfc2898DeriveBytes(_password, salt);
byte[] key = passwordHasher.GetBytes(16);
Rijndael rijndaal = new RijndaelManaged();
rijndaal.IV = IV;
rijndaal.Key = key;
using (FileStream input = File.Open(_fileName, FileMode.Open))
{
using (StreamReader reader = new StreamReader(input))
{
using (FileStream output = File.Create(_fileName + ".crypted"))
{
using (CryptoStream encryptingStream =
new CryptoStream(output, rijndaal.CreateEncryptor(), CryptoStreamMode.Write))
{
output.Write(salt, 0, 16);
output.Write(IV, 0, 16);
output.Flush();
using (StreamWriter writer = new StreamWriter(encryptingStream))
{
writer.Write(reader.ReadToEnd());
}
}
}
}
}
}
Happy coding ...
Regards, Perry