W poprzednim poście zbadaliśmy różne metody tworzenia archiwów ZIP za pomocą C#. Ten artykuł rozszerzy tę wiedzę, koncentrując się na formacie 7z, który oparty jest na architekturze open-source i oferuje wysoki współczynnik kompresji. Co ważne, 7z obsługuje szyfrowanie AES 256-bitowe, co pozwala zabezpieczyć nie tylko pliki, ale także ich nazwy.
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 następujących metod:
- Zainstaluj za pomocą Menedżera pakietów NuGet.
- Pobierz DLL i dodaj jego referencję do swojego projektu.
Tworzenie archiwum 7z (7-Zip) za pomocą C#
Możesz kompresować pliki do archiwum 7z w dwóch głównych scenariuszach: gdy masz do czynienia z pojedynczym plikiem lub wieloma plikami. Oto jak obsłużyć obie sytuacje.
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#, demonstrujący 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 stworzyć 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ład kodu, który demonstruje, jak stworzyć 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ład kodu, aby dowiedzieć się, jak ustawić różne hasła dla każdego wpisu w archiwum 7z:
Podsumowanie
W tym artykule omówiliśmy, jak programowo tworzyć archiwa 7z za pomocą C#. Zbadaliśmy również, jak wdrożyć szyfrowanie 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 obsługują dużą obsługę plików, asynchroniczną kompresję i wiele więcej.