dodaj-pliki-lub-foldery-do-zip-archiwów-używając-csharp

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

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:

  1. Utwórz instancję klasy Archive z obiektem ArchiveEntrySettings.
  2. Ustaw hasło za pomocą obiektu TraditionalEncryptionSettings.
  3. Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, który chcesz dodać do archiwum.
  4. Powtórz powyższy krok, aby dodać wiele plików.
  5. 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

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:

  1. Utwórz instancję klasy Archive z obiektem ArchiveEntrySettings.
  2. Ustaw hasło za pomocą klasy AesEcryptionSettings. Przekaż ciąg hasła i EncryptionMethod jako argumenty do konstruktora.
  3. Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, który chcesz dodać do archiwum.
  4. Powtórz powyższy krok, aby dodać wiele plików.
  5. 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:

  1. Utwórz instancję klasy Archive z obiektem ArchiveEntrySettings.
  2. Ustaw hasło za pomocą obiektu TraditionalEncryptionSettings.
  3. Wywołaj metodę CreatEntries() ze ścieżką folderu, który chcesz dodać do archiwum.
  4. Powtórz powyższy krok, aby dodać wiele folderów.
  5. 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:

  1. Utwórz instancję klasy Archive.
  2. Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, który chcesz dodać do archiwum.
  3. Ustaw hasło do pliku za pomocą ArchiveEntrySettings z tradycyjnymi ustawieniami szyfrowania.
  4. Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, aby dodać kolejny plik do archiwum.
  5. Powtórz powyższe kroki, aby dodać więcej plików.
  6. 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

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:

  1. Utwórz instancję klasy Archive.
  2. Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, który chcesz dodać do archiwum.
  3. Ustaw hasło do pliku za pomocą ArchiveEntrySettings z AesEcryptionSettings.
  4. Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, aby dodać kolejny plik do archiwum.
  5. Ustaw hasło do pliku za pomocą ArchiveEntrySettings z tradycyjnymi ustawieniami szyfrowania.
  6. Wywołaj metodę CreatEntry() podając ścieżkę pliku wejściowego, aby dodać kolejny plik do archiwum.
  7. Wywołaj metodę CreateEntries() ze ścieżką folderu, który chcesz dodać do archiwum.
  8. 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");
Twórz zaszyfrowane archiwa ZIP z szyfrowaniem mieszanym

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.

Zobacz też