
Pliki ZIP to najpopularniejsze typy plików archiwalnych, które służą do przechowywania skompresowanych plików i folderów w jednym kontenerze. Jako programista języka C# możesz łatwo tworzyć zaszyfrowane lub chronione hasłem archiwa ZIP programowo przy użyciu języka C# w aplikacjach .NET. W tym artykule dowiesz się, jak tworzyć zaszyfrowane pliki ZIP przy użyciu języka C#.
W tym artykule omówiono/omówiono następujące tematy:
- API C# do tworzenia zaszyfrowanych plików ZIP
- Twórz chronione hasłem pliki ZIP
- Twórz zaszyfrowane pliki ZIP z szyfrowaniem AES
- Szyfruj foldery w plikach ZIP
- Szyfruj określone pliki w archiwach ZIP
- Twórz zaszyfrowane pliki ZIP z szyfrowaniem mieszanym
API C# do tworzenia zaszyfrowanych plików ZIP
Do tworzenia zaszyfrowanych archiwów ZIP będę używać Aspose.ZIP for .NET API. Umożliwia kompresję plików i folderów oraz dodawanie ich do archiwów ZIP. Umożliwia także dekompresję archiwów obsługiwanych typów, takich jak ZIP, TAR, GZIP, BZ2, 7Zip, RAR itp. API zapewnia ochronę za pomocą haseł zdefiniowanych przez użytkownika i tradycyjnych technik szyfrowania wykorzystujących szyfrowanie AES, takie jak AES128, AES192 i AES256 .
Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.
Install-Package Aspose.ZIP
Twórz chronione hasłem pliki ZIP
Możesz łatwo programowo tworzyć archiwa ZIP chronione hasłem, wykonując poniższe czynności:
- Utwórz instancję klasy Archive z obiektem ArchiveEntrySettings.
- Ustaw hasło za pomocą obiektu TraditionalEncryptionSettings.
- Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, który chcesz dodać do archiwum.
- Powtórz powyższy krok, aby dodać wiele plików.
- Wywołaj metodę Save() ze ścieżką do pliku wyjściowego, aby zapisać plik wyjściowy.
Poniższy przykładowy kod pokazuje, jak utworzyć plik ZIP chroniony hasłem przy użyciu języka C#.
// utwórz archiwum
Archive archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("12345")));
// Dodaj pliki do archiwum
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt");
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt");
// zapisz archiwum
archive.Save("C:\\Files\\password_protcted.zip");

Twórz archiwa ZIP chronione hasłem
Klasa Archive reprezentuje plik archiwum ZIP. Zapewnia kilka metod tworzenia, komponowania, wyodrębniania i aktualizowania archiwów ZIP. Metoda CreatEntry() tej klasy tworzy pojedynczy wpis pliku w archiwum. Jako parametry wejściowe przyjmuje nazwę pliku i pełną ścieżkę pliku. Ta klasa udostępnia również przeciążone metody CreatEntry() służące do dodawania plików ze strumienia lub FileInfo. Metoda Save() tej klasy zapisuje archiwum ZIP pod określoną ścieżką pliku.
Klasa ArchiveEntrySettings udostępnia ustawienia umożliwiające kompresję lub dekompresję wpisów. Klasa TradycyjneEncryptionSetings udostępnia ustawienia tradycyjnego algorytmu ZipCrypto. Jest to algorytm ochrony hasłem ZIP. Właściwość Password tej klasy umożliwia uzyskanie lub ustawienie hasła do szyfrowania lub deszyfrowania plików i folderów w archiwum ZIP.
Twórz zaszyfrowane pliki ZIP z szyfrowaniem AES
Możesz programowo szyfrować swoje archiwa ZIP za pomocą szyfrowania AES, wykonując czynności podane poniżej:
- Utwórz instancję klasy Archive z obiektem ArchiveEntrySettings.
- Ustaw hasło za pomocą klasy AesEcryptionSettings. Przekaż ciąg hasła i EncryptionMethod jako argumenty do konstruktora.
- Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, który chcesz dodać do archiwum.
- Powtórz powyższy krok, aby dodać wiele plików.
- Wywołaj metodę Save() ze ścieżką do pliku wyjściowego, aby zapisać plik wyjściowy.
Poniższy przykładowy kod pokazuje, jak utworzyć plik ZIP zaszyfrowany przy użyciu szyfrowania AES przy użyciu języka C#.
// utwórz archiwum
Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128)));
// Dodaj pliki do archiwum
archive.CreateEntry("abc.txt", "C:\\Files\\sample1.txt");
// zapisz archiwum
archive.Save("C:\\Files\\aes.zip");
Klasa AesEncryptionSettings udostępnia ustawienia algorytmu szyfrowania lub deszyfrowania AES. Advanced Encryption Standard (AES) to algorytm szyfrowania blokowego z szyfrowaniem symetrycznym lub deszyfrowaniem.
Można stosować następujące rodzaje metod szyfrowania:
- Tradycyjne — tradycyjne szyfrowanie PKWARE
- AES128 — zaawansowany standard szyfrowania z kluczem o długości 128 bitów
- AES192 — zaawansowany standard szyfrowania z kluczem o długości 192 bitów
- AES256 — zaawansowany standard szyfrowania z kluczem o długości 256 bitów
Szyfruj foldery w plikach ZIP
Możesz programowo dodać foldery chronione hasłem do plików ZIP, wykonując czynności podane poniżej:
- Utwórz instancję klasy Archive z obiektem ArchiveEntrySettings.
- Ustaw hasło za pomocą obiektu TraditionalEncryptionSettings.
- Wywołaj metodę CreatEntries() ze ścieżką folderu, który chcesz dodać do archiwum.
- Powtórz powyższy krok, aby dodać wiele folderów.
- Wywołaj metodę Save() ze ścieżką do pliku wyjściowego, aby zapisać plik wyjściowy.
Poniższy przykładowy kod pokazuje, jak dodać zaszyfrowany folder do pliku ZIP przy użyciu języka C#.
// utwórz archiwum
Archive archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("123@45")));
// Dodaj folder do archiwum
archive.CreateEntries("C:\\Files\\MyFolder");
// zapisz archiwum
archive.Save("C:\\Files\\password_protcted_folder.zip");
Szyfruj określone pliki w archiwach ZIP
Możesz programowo szyfrować określone pliki w archiwach ZIP, wykonując czynności podane poniżej:
- Utwórz instancję klasy Archive.
- Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, który chcesz dodać do archiwum.
- Ustaw hasło do pliku za pomocą ArchiveEntrySettings z tradycyjnymi ustawieniami szyfrowania.
- Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, aby dodać kolejny plik do archiwum.
- Powtórz powyższe kroki, aby dodać więcej plików.
- Wywołaj metodę Save() ze ścieżką do pliku wyjściowego, aby zapisać plik wyjściowy.
Poniższy przykładowy kod pokazuje, jak szyfrować określone pliki w archiwum ZIP przy użyciu języka C#.
// utwórz archiwum
Archive archive = new Archive();
// Dodaj pliki do archiwum
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt");
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt", false, new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("123@abc")));
// zapisz archiwum
archive.Save("C:\\Files\\password_protcted.zip");

Szyfruj określone pliki w archiwach ZIP
Twórz zaszyfrowane pliki ZIP z szyfrowaniem mieszanym
Możesz tworzyć archiwa ZIP zawierające pliki i foldery chronione mieszanymi technikami szyfrowania, różniącymi się programowo dla każdego pliku i folderu, wykonując czynności podane poniżej:
- Utwórz instancję klasy Archive.
- Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, który chcesz dodać do archiwum.
- Ustaw hasło do pliku za pomocą ArchiveEntrySettings z AesEcryptionSettings.
- Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, aby dodać kolejny plik do archiwum.
- Ustaw hasło do pliku za pomocą ArchiveEntrySettings z tradycyjnymi ustawieniami szyfrowania.
- Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, aby dodać kolejny plik do archiwum.
- Wywołaj metodę CreateEntries() ze ścieżką folderu, który chcesz dodać do archiwum.
- Zapisz plik wyjściowy za pomocą metody Save(), podając ścieżkę do pliku wyjściowego.
Poniższy przykładowy kod pokazuje, jak utworzyć plik ZIP przy użyciu mieszanych technik szyfrowania przy użyciu języka C#.
// utwórz archiwum
Archive archive = new Archive();
// Dodaj plik z szyfrowaniem AES do archiwum
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt", false, new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128)));
// Dodaj plik z tradycyjnym szyfrowaniem do archiwum
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt", false, new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("321")));
// Dodaj plik bez szyfrowania do archiwum
archive.CreateEntry("sample3.txt", "C:\\Files\\sample2.txt");
// Dodaj folder bez szyfrowania do archiwum
archive.CreateEntries("C:\\Files\\MyFolder");
// zapisz archiwum
archive.Save("C:\\Files\\Mixed.zip");

Utwórz zaszyfrowany plik ZIP z szyfrowaniem mieszanym
Zdobądź bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule dowiedziałeś się, jak tworzyć zaszyfrowane pliki ZIP przy użyciu języka C#. Nauczyłeś się także, jak programowo utworzyć plik ZIP chroniony hasłem. Co więcej, nauczyłeś się szyfrować określone pliki w archiwach ZIP. Ponadto nauczyłeś się, jak dodawać foldery chronione hasłem do plików ZIP. W tym artykule wyjaśniono również, jak utworzyć plik ZIP zaszyfrowany przy użyciu mieszanych technik szyfrowania przy użyciu języka C#. Możesz dowiedzieć się więcej o Aspose.ZIP for .NET API, korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.