Ein Datataset als verschlüsselte Xml Datei speichern
/// <summary>
/// Ein DataSet in eine Xml Datei speichern (verschlüsselt)
/// </summary>
/// <param name="file">Den Pfad der Xml Datei</param>
/// <param name="key">Key</param>
/// <param name="ds">Das DataSet das gespeichert werden soll</param>
public void SetDataSet(string file, DataSet ds, string key) {
Rijndael crypto = Rijndael.Create();
// qwert bitte durch einen eigenen String ersetzten
crypto.IV = ASCIIEncoding.ASCII.GetBytes("qwert".PadRight(16, 'x'));
crypto.Key = ASCIIEncoding.ASCII.GetBytes(key.PadRight(16, 'x'));
crypto.Padding = PaddingMode.Zeros;
File.Delete(file);
using (FileStream stream = new FileStream(file, FileMode.OpenOrCreate)) {
using (CryptoStream cryptoStream = new CryptoStream(stream, crypto.CreateEncryptor(), CryptoStreamMode.Write)) {
ds.WriteXml(cryptoStream);
cryptoStream.Flush();
stream.Flush();
cryptoStream.Close();
stream.Close();
}
}
}
Kommentare zum Snippet