
В предишен пост, разгледахме как да създадем ZIP архиви, използвайки C#. Сега ще преместим вниманието си към 7z format, който е известен с високото си съотношение за компресия и здрава 256-bit AES encryption възможности. Това прави библиотеката .NET 7z идеален избор за сигурно и ефективно обработване на архиви.
Какво ще научите
В това ръководство ще научите как да създаване на 7z (7-Zip) архиви програмно с C#. Ще разгледаме следните теми:
- Създаване на 7z архив с един елемент
- Създаване на AES криптиран 7z архив
- Задаване на различни пароли за 7z елементи
Ще използваме Aspose.ZIP for .NET API. Можете да инсталирате тази библиотека чрез:
- NuGet Package Manager
- Изтеглете DLL и включете го във вашия проект
Създайте 7z (7-Zip) архив, използвайки C#
Можете да компресирате файлове в 7z архив, подходящ за един файл и множество файлове сценарии. Тази функционалност предоставя икономично решение за разработчиците, търсещи .NET RAR инструмент за извличане.
Създайте 7z архив с един запис
За да създадете 7z архив с един файл, следвайте тези стъпки:
- Отворете нов FileStream за създаване на 7z файл.
- Създайте екземпляр на SevenZipArchive клас.
- Добавете файла, използвайки SevenZipArchive.CreateEntry.
- Запазете архива с SevenZipArchive.Save.
Ето един C# пример за илюстрация:
using Aspose.Zip.Saving;
using Aspose.Zip.SevenZip;
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
archive.Save(sevenZipFile);
}
}
Създаване на 7z архив с множество записи
За компресиране на множество файлове в един 7z архив:
- Създайте екземпляр на SevenZipArchive клас.
- Използвайте SevenZipArchive.CreateEntries и предайте пътя до папката.
- Запазете архива с SevenZipArchive.Save.
Пример:
using Aspose.Zip.Saving;
using Aspose.Zip.SevenZip;
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
archive.Save(sevenZipFile);
}
}
Създаване на AES криптиран 7z архив с C#
За да защитите архивите си, можете да използвате AES encryption, функция на библиотеката .NET 7z, която подобрява сигурността на архива:
- Създайте екземпляр на SevenZipAESEncryptionSettings.
- Конфигурирайте необходимите параметри за криптиране.
- Добавете елементи към архива и го запазете.
Пример:
using Aspose.Zip.Saving;
using Aspose.Zip.SevenZip;
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
archive.Save(sevenZipFile);
}
}
Задаване на различни пароли за 7z елементи с C#
За да зададете уникални пароли за различни елементи във вашия архив:
- Отворете FileStream за 7z архива.
- Използвайте SevenZipArchive.CreateEntry за добавяне на елементи, като задавате индивидуални пароли.
- Запазете архива.
Пример:
using Aspose.Zip.Saving;
using Aspose.Zip.SevenZip;
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
archive.Save(sevenZipFile);
}
}
Заключение
В тази статия разгледахме как да създавайте 7z архиви програмно в C#, защитете ги с AES криптиране, и задайте уникални пароли за елементите. За по‑напреднали функции и най‑добри практики, разгледайте Aspose.ZIP documentation.
Като използвате Aspose Plugin за .NET, можете ефективно да управлявате архиви, прилагате криптиране и оптимизирате работните си процеси — всичко това само за $99. Отключете разширени функции днес с този надежден .NET плъгин за извличане на архиви, поддържащ всички основни формати!