सिंहावलोकन
आज के डिजिटल परिदृश्य में डेटा सुरक्षा सर्वोपरि है, और संवेदनशील जानकारी को सुरक्षित रखने का एक प्रभावी तरीका एन्क्रिप्शन है। यह अवलोकन आपको आपके डेटा की गोपनीयता और अखंडता सुनिश्चित करते हुए संपूर्ण संग्रह या उसके भीतर विशिष्ट प्रविष्टियों को एन्क्रिप्ट या डिक्रिप्ट करने के तरीके के बारे में मार्गदर्शन करेगा। Aspose.ZIP अभिलेखों के एन्क्रिप्शन और डिक्रिप्शन से संबंधित कई प्रकार के संचालन की सुविधा प्रदान करता है।संपूर्ण ज़िप संग्रह को एन्क्रिप्ट या डिक्रिप्ट कैसे करें
पारंपरिक पद्धति से ज़िप संग्रह को एन्क्रिप्ट करें
ज़िप संग्रह के लिए दो एन्क्रिप्शन विधियाँ उपलब्ध हैं: पारंपरिक, जिसे अब कमज़ोर माना जाता है, और आधुनिक एईएस। ज़िप मानक किसी भी प्रविष्टि को एक ही संग्रह में भी इनमें से किसी भी तरीके से एन्क्रिप्ट करने की अनुमति देता है। एईएस एन्क्रिप्शन मजबूत सुरक्षा प्रदान करता है और विभिन्न कुंजी लंबाई (128-बिट, 192-बिट और 256-बिट) में उपलब्ध है। यह ज़िप अभिलेखागार के भीतर संवेदनशील डेटा के लिए बेहतर सुरक्षा प्रदान करता है।
डिफ्लेट से संपीड़ित फ़ाइलें
using (var zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
var archive = new Archive(new ArchiveEntrySettings(CompressionSettings.Deflate, new TraditionalEncryptionSettings("p@s$")));
archive.CreateEntry("alice29.txt", source);
archive.Save(zipFile);
}
}
एईएस पद्धति से संपूर्ण संग्रह को एन्क्रिप्ट करना
using (var zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive(new ArchiveEntrySettings(CompressionSettings.Deflate, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
archive.CreateEntry("alice29.txt", source);
archive.Save(zipFile);
}
}
}
ये नमूने दिखाते हैं कि संबंधित आर्काइव कंस्ट्रक्टर में एन्क्रिप्शनसेटिंग इंस्टेंस को कैसे एम्बेड किया जाए। । यह व्यक्तिगत प्रविष्टियों के चयनात्मक एन्क्रिप्शन को सक्षम बनाता है, दूसरों को अनएन्क्रिप्टेड रखता है।
ज़िप संग्रह में तीनों में से दूसरी प्रविष्टि को एन्क्रिप्ट करें
using (FileStream zipFile = File.Open(this.resultFile, FileMode.Create))
{
FileInfo source1 = new FileInfo("alice29.txt");
FileInfo source2 = new FileInfo("asyoulik.txt");
FileInfo source3 = new FileInfo("fields.c");
using (var archive = new Archive())
{
archive.CreateEntry("alice29.txt", source1);
archive.CreateEntry("asyoulik.txt", source2, false, new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256)));
archive.CreateEntry("fields.c", source3);
archive.Save(zipFile);
}
}
हालांकि यह अपरंपरागत लग सकता है, विभिन्न एन्क्रिप्शन विधियों और पासवर्ड का उपयोग करके ज़िप संग्रह के भीतर विशिष्ट प्रविष्टियों को एन्क्रिप्ट करना वास्तव में संभव है। यह दृष्टिकोण अधिक विस्तृत और अनुकूलित सुरक्षा रणनीति की अनुमति देता है, जहां व्यक्तिगत फ़ाइलों या फ़ाइलों के समूहों में सुरक्षा के अलग-अलग स्तर हो सकते हैं। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि यह अभ्यास प्रबंधन और डिक्रिप्शन प्रक्रिया को जटिल बना सकता है, और विभिन्न ज़िप संग्रह टूल के साथ संगतता भिन्न हो सकती है।
विभिन्न तरीकों और पासवर्ड के साथ ज़िप एन्क्रिप्ट करें
using (FileStream zipFile = File.Open(this.resultFile, FileMode.Create))
{
FileInfo source1 = new FileInfo("alice29.txt");
FileInfo source2 = new FileInfo("asyoulik.txt");
FileInfo source3 = new FileInfo("fields.c");
using (var archive = new Archive())
{
archive.CreateEntry("alice29.txt", source1, false, new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$1", EncryptionMethod.AES256)));
archive.CreateEntry("asyoulik.txt", source2, false, new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("p@s$2")));
archive.CreateEntry("fields.c", source3, false, new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$3", EncryptionMethod.AES256)));
archive.Save(zipFile);
}
}
Aspose.ZIP आपको सामग्री को पूरी तरह से दोबारा पैक किए बिना मौजूदा संग्रह में एन्क्रिप्शन जोड़ने की अनुमति देता है। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि संग्रह की सभी प्रविष्टियाँ असुरक्षित होनी चाहिए; अन्यथा, एक अपवाद उठाया जाएगा.
मौजूदा ज़िप संग्रह को एन्क्रिप्ट करें
using (var archive = new Archive("plain.zip"))
{
archive.Save("encrypted.zip", new ArchiveSaveOptions()
{
EncryptionOptions = new AesEcryptionSettings("p@s$", EncryptionMethod.AES256)
});
}
ज़िप संग्रह को डिक्रिप्ट करना
उपयोगकर्ता के पास एन्क्रिप्टेड ज़िप संग्रह के भीतर एक विशिष्ट प्रविष्टि या संपूर्ण संग्रह को डिक्रिप्ट करने का विकल्प होता है।
विशेष प्रविष्टि को डिक्रिप्ट करें
using (var zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
var archive = new Archive(new ArchiveEntrySettings(CompressionSettings.Deflate, new TraditionalEncryptionSettings("p@s$")));
archive.CreateEntry("alice29.txt", source);
archive.Save(zipFile);
}
}
संपूर्ण ज़िप संग्रह को डिक्रिप्ट करें
इस मामले में हमें कंस्ट्रक्टर के भीतर पासवर्ड प्रदान करने की आवश्यकता है।
using (var zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var source = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
{
using (var archive = new Archive(new ArchiveEntrySettings(CompressionSettings.Deflate, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
archive.CreateEntry("alice29.txt", source);
archive.Save(zipFile);
}
}
}
RAR पुरालेख को एन्क्रिप्ट या डिक्रिप्ट कैसे करें
RAR संग्रह को डिक्रिप्ट करना
Aspose.ZIP RAR संग्रह संरचना का समर्थन नहीं करता है, यह केवल निष्कर्षण का समर्थन करता है।
RAR संग्रह
को फ़ाइल नामों की सुरक्षा के साथ या उसके बिना एन्क्रिप्ट किया जा सकता है।
पहले मामले में उपयोगकर्ता को RAR संग्रह इंस्टेंटेशन की शुरुआत में ही
RarArchiveLoadOptions
के भीतर डिक्रिप्शन पासवर्ड प्रदान करना होगा। बाद वाले मामले में, बाद में प्रविष्टि निष्कर्षण पर पासवर्ड पास करना संभव है।
एन्क्रिप्टेड फ़ाइल नामों के साथ संपूर्ण RAR संग्रह को डिक्रिप्ट करें
using (RarArchive archive = new RarArchive("source.rar",
new RarArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
archive.ExtractToDirectory("destination");
}
RAR संग्रह से विशेष प्रविष्टि को डिक्रिप्ट करें
यह नमूना तब काम करेगा जब केवल प्रविष्टियों की सामग्री एन्क्रिप्ट की गई हो लेकिन फ़ाइल नाम एन्क्रिप्ट नहीं किए गए हों।
using (RarArchive archive = new RarArchive("source.rar"))
{
archive.Entries[0].Extract("first_entry.bin", "p@s$");
}
RAR संग्रह से विशेष प्रविष्टि को एक स्ट्रीम के रूप में डिक्रिप्ट करें
हालाँकि, इस नमूने में, धारणा यह है कि केवल प्रविष्टियों की सामग्री एन्क्रिप्ट की गई है, फ़ाइल नाम नहीं . इसके लिए एंट्री बाइट्स को मेमोरी स्ट्रीम में कॉपी करना आवश्यक हो जाता है।
MemoryStream destination = new MemoryStream();
using (RarArchive archive = new RarArchive("source.rar"))
{
using (var source = archive.Entries[1].Open("p@s$"))
{
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = source.Read(buffer, 0, buffer.Length)) > 0)
{
destination.Write(buffer, 0, bytesRead);
}
}
}
संपूर्ण 7ZIP संग्रह को एन्क्रिप्ट या डिक्रिप्ट कैसे करें
7z पुरालेख फ़ाइलों को एन्क्रिप्ट करने के तरीके
7z आर्काइव एन्क्रिप्शन का एकमात्र विकल्प AES है।
LZMA2 संपूर्ण 7z संग्रह के साथ एन्क्रिप्ट और संपीड़ित करें
7Z अभिलेखागार प्रत्येक प्रविष्टि को अपने पासवर्ड से एन्क्रिप्ट करने या असुरक्षित छोड़ने की क्षमता का समर्थन करता है।
using (FileStream szFile = File.Open("archive.7z", FileMode.Create))
{
FileInfo source1 = new FileInfo("alice29.txt");
FileInfo source2 = new FileInfo("asyoulik.txt");
FileInfo source3 = new FileInfo("fields.c");
using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("p@s$"))))
{
archive.CreateEntry("alice29.txt", source1);
archive.CreateEntry("asyoulik.txt", source2);
archive.CreateEntry("fields.c", source3);
archive.Save(szFile);
}
}
7z संग्रह की प्रविष्टियों को अपने पासवर्ड से एन्क्रिप्ट करें और एक प्रविष्टि को अनएन्क्रिप्टेड छोड़ दें
ज़िप के समान, उपयोगकर्ता संपूर्ण संग्रह या उसमें से विशेष प्रविष्टि को डिक्रिप्ट कर सकता है।
7Z संग्रह को फ़ाइल नामों की सुरक्षा के साथ या उसके बिना एन्क्रिप्ट किया जा सकता है। यदि फ़ाइल नाम एन्क्रिप्ट किए गए हैं, तो आपको पासवर्ड प्रदान करना होगा
संग्रह इंस्टेंटिएशन पर
.
using (FileStream szFile = File.Open("archive.7z", FileMode.Create))
{
FileInfo source1 = new FileInfo("alice29.txt");
FileInfo source2 = new FileInfo("asyoulik.txt");
FileInfo source3 = new FileInfo("fields.c");
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("alice29.txt", source1);
archive.CreateEntry("asyoulik.txt", source2, false, new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("p@s$")));
archive.CreateEntry("fields.c", source3, false, new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("$ecret")));
archive.Save(szFile);
}
}
निर्देशिका में एन्क्रिप्टेड फ़ाइल नामों के साथ संपूर्ण संग्रह को डिक्रिप्ट करें
फ़ाइल नाम एन्क्रिप्टेड हैं या नहीं, एक्सट्रेक्टिंग कंस्ट्रक्टर के भीतर पासवर्ड प्रदान करना सुरक्षित है।
नीचे दिया गया नमूना केवल तभी काम करेगा जब केवल सामग्री सुरक्षित होगी।
using (SevenZipArchive archive = new SevenZipArchive("archive.7z", "p@s$"))
{
archive.ExtractToDirectory("C:\\extracted");
}
विशेष प्रविष्टि को डिक्रिप्ट करें
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract("data.bin", "p@s$");
}
.NET API सुविधाओं के लिए अन्य समर्थित Aspose.ZIP
कनवर्ट करने, मर्ज करने, ज़िप-फ़ाइल दस्तावेज़ों को संपादित करने, संग्रह से डेटा निकालने और बहुत कुछ करने के लिए Aspose.ZIP C# लाइब्रेरी का उपयोग करें!
Support and Learning Resources
- Learning Resources
- Documentation
- Source Code
- API References
- Tutorial Videos
- Product Support
- Free Support
- Paid Support
- Blog
- Release Notes
- Why Aspose.ZIP for .NET?
- Customers List
- Success Stories