
W poprzednim poście zbadaliśmy różne metody tworzenia archiwów ZIP przy użyciu C#. W tym artykule rozszerzymy tę podstawę, koncentrując się na formacie 7z. Format 7z oparty jest na architekturze open-source i oferuje wysoki współczynnik kompresji, a także możliwość użycia szyfrowania AES 256-bit w celu zabezpieczenia zarówno plików, jak i ich nazw.
Czego się nauczysz
W tym przewodniku nauczysz się, jak programowo tworzyć archiwa 7z (7-Zip) za pomocą C#. Omówimy:
- Tworzenie archiwum 7z z pojedynczym wpisem
- Tworzenie archiwum 7z z szyfrowaniem AES
- Ustawianie różnych haseł dla wpisów 7z
Wszystkie przykłady i fragmenty kodu opierają się na API Aspose.ZIP dla .NET. Upewnij się, że masz zainstalowane API, korzystając z jednej z poniższych metod:
- Zainstaluj za pomocą Menadżera pakietów NuGet.
- Pobierz DLL i dodaj jego referencję do swojego projektu.
Tworzenie archiwum 7z (7-Zip) za pomocą C#
Możesz skompresować pliki do archiwum 7z w dwóch podstawowych scenariuszach: przy pracy z pojedynczym plikiem lub wieloma plikami. Oto jak poradzić sobie z obiema sytuacjami.
Tworzenie archiwum 7z z pojedynczym wpisem
Aby stworzyć archiwum 7z z pojedynczym plikiem, wykonaj następujące kroki:
- Otwórz nowy FileStream, aby utworzyć plik 7z.
- Utwórz instancję klasy SevenZipArchive.
- Dodaj plik do archiwum, korzystając z metody SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
- Zapisz archiwum, korzystając z metody SevenZipArchive.Save(Stream).
Oto przykład archiwum 7z w C#, który ilustruje powyższe kroki:
Tworzenie archiwum 7z z wieloma wpisami
Jeśli musisz skompresować wiele plików, możesz umieścić je w folderze i przekazać ścieżkę folderu do metody SevenZipArchive.CreateEntries(). Wykonaj następujące kroki:
- Utwórz instancję klasy SevenZipArchive.
- Przekaż ścieżkę folderu do metody SevenZipArchive.CreateEntries(String, Boolean).
- Wywołaj metodę SevenZipArchive.Save(String).
Oto, jak utworzyć archiwum 7z z wieloma wpisami za pomocą C#:
Tworzenie archiwum 7z z szyfrowaniem AES za pomocą C#
Format 7z obsługuje szyfrowanie AES dla dodatkowego bezpieczeństwa. Aby zaszyfrować plik 7z, użyj klasy SevenZipAESEncryptionSettings. Poniżej znajduje się przykładowy kod, który ilustruje, jak utworzyć archiwum 7z z szyfrowaniem AES za pomocą C#:
Ustawianie różnych haseł dla wpisów 7z za pomocą C#
Format 7z pozwala również przypisać unikalne hasło dla każdego wpisu pliku. Jeśli kompresujesz wiele plików, możesz określić różne hasła dla każdego z nich. Oto jak to zrobić:
- Utwórz nowy FileStream dla pliku archiwum 7z.
- Uzyskaj dostęp do każdego wpisu pliku za pomocą klasy FileInfo.
- Utwórz instancję klasy SevenZipArchive.
- Dodaj wpisy do archiwum 7z, korzystając z metody SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
- Zapisz archiwum, korzystając z metody SevenZipArchive.Save(Stream).
Zobacz poniższy przykładowy kod, aby dowiedzieć się, jak ustawić różne hasła dla każdego wpisu w archiwum 7z:
Podsumowanie
W tym artykule zbadaliśmy, jak programowo tworzyć archiwa 7z za pomocą C#. Omówiliśmy również wdrażanie szyfrowania AES dla zwiększonego bezpieczeństwa oraz jak ustawić unikalne hasła dla każdego wpisu pliku. Aby uzyskać więcej informacji na temat kompresji i dekompresji plików, możesz zapoznać się z dokumentacją Aspose.ZIP.
Pokrewne artykuły
Korzystając z wtyczki Aspose dla .NET, możesz łatwo zintegrować kompresję .NET 7-Zip w swoich aplikacjach, uprościć procesy zarządzania plikami i zwiększyć możliwości swojego oprogramowania. Za jedyne 99 USD możesz odblokować potężne funkcje, które wspierają obsługę dużych plików, asynchroniczną kompresję i wiele więcej.