नहीं है, यदि ऐसा नहीं होता है, लेकिन ...
मैं बस अपना एप्लिकेशन आज के लिए GZipStream समर्थन जोड़ा है, इसलिए मैं कुछ कोड यहाँ साझा कर सकते हैं;
क्रमबद्धता:
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);
}
}
}
Deserialization:
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);
}
}
}
नोट: यदि आप CryptoStream उपयोग करते हैं, यह थोड़े महत्वपूर्ण है कि आप श्रृंखला (अन) ज़िप करने और (डी) सही इस तरह से crypting है, क्योंकि एन्क्रिप्शन आपके डेटा से शोर बनाता है इससे पहले कि आप अपना एन्ट्रॉपी खोना चाहेंगे।
स्रोत
2011-05-10 13:31:05
प्राइमेटिव्स खुशी से विज्ञापन मतली को दोहराया जाता है, ऐसा होता है कि केवल "संपीड़न" होता है कि नल के निर्बाध अनुक्रम (जैसे सरणी में) अनुक्रम में संख्या का प्रतिनिधित्व करने वाले बाइट्स या पूर्णांक के रूप में संग्रहीत होते हैं। स्ट्रिंग्स (आमतौर पर) दोहराई नहीं जाती हैं, कक्षा परिभाषाओं को दोहराया नहीं जाता है, और कई ऑब्जेक्ट संदर्भों का परिणाम ऑब्जेक्ट को कई बार क्रमबद्ध/आउटपुट नहीं किया जाता है। – Tao