Bugün uygulamam için GZipStream desteğini ekledim, bu yüzden bazı kodları burada paylaşabilirim;
Serile:
using (Stream s = File.Create(PathName))
{
RijndaelManaged rm = new RijndaelManaged();
rm.Key = CryptoKey;
rm.IV = CryptoIV;
using (CryptoStream cs = new CryptoStream(s, rm.CreateEncryptor(), CryptoStreamMode.Write))
{
using (GZipStream gs = new GZipStream(cs, CompressionMode.Compress))
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(gs, _instance);
}
}
}
Seri kaldırma:
using (Stream s = File.OpenRead(PathName))
{
RijndaelManaged rm = new RijndaelManaged();
rm.Key = CryptoKey;
rm.IV = CryptoIV;
using (CryptoStream cs = new CryptoStream(s, rm.CreateDecryptor(), CryptoStreamMode.Read))
{
using (GZipStream gs = new GZipStream(cs, CompressionMode.Decompress))
{
BinaryFormatter bf = new BinaryFormatter();
_instance = (Storage)bf.Deserialize(gs);
}
}
}
NOT: CryptoStream kullanırsanız, çünkü zincir (me) sıkıştırma ve (de) bu taraftan crypting bu biraz önemlidir Şifreleriniz, verilerinizden parazit oluşturmadan ÖNCE tümlüğünü kaybetmek istersiniz.
Bu gerçekten yardımcı oldu, bu sıkıştırmanın nasıl görüneceğini gerçekten yararlı oldu ... Daha önce hiç kullanılmamış BinaryFormatter. –
Bunu kolayca kopyaladığım için + şifreli koduma yazdığınız için teşekkür ederiz. Bunları genellikle biçimlendiririm, ki bu sadece Google’da kolayca bulabildiğim bir pasaj. +1 –