dateien-oder-ordner-zu-zip-archiven-mit-csharp-hinzufügen

ZIP-Dateien sind die gängigsten Arten von Archivdateien, die verwendet werden, um komprimierte Dateien und Ordner in einem einzigen Container zu speichern. Als C#-Entwickler können Sie einfach verschlüsselte oder kennwortgeschützte ZIP-Archive programmgesteuert mit C# in Ihren .NET-Anwendungen erstellen. In diesem Artikel erfahren Sie, wie Sie verschlüsselte ZIP-Dateien mit C# erstellen.

Die folgenden Themen werden in diesem Artikel behandelt/behandelt:

C#-API zum Erstellen verschlüsselter ZIP-Dateien

Zum Erstellen verschlüsselter ZIP-Archive verwende ich Aspose.ZIP for .NET API. Es ermöglicht Ihnen, Dateien und Ordner zu komprimieren und sie zu ZIP-Archiven hinzuzufügen. Außerdem können Sie Archive unterstützter Typen wie ZIP, TAR, GZIP, BZ2, 7Zip, RAR usw. dekomprimieren. Die API bietet Schutz über benutzerdefinierte Passwörter und herkömmliche Verschlüsselungstechniken mit AES-Verschlüsselung wie AES128, AES192 und AES256 .

Sie können die DLL der API entweder herunterladen oder mit NuGet installieren.

Install-Package Aspose.ZIP

Erstellen Sie passwortgeschützte ZIP-Dateien

Sie können ganz einfach passwortgeschützte ZIP-Archive programmgesteuert erstellen, indem Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der Klasse Archive mit dem Objekt ArchiveEntrySettings.
  2. Legen Sie das Passwort mit dem Objekt TraditionalEncryptionSettings fest.
  3. Rufen Sie die Methode CreatEntry() mit dem Pfad der Eingabedatei auf, um sie dem Archiv hinzuzufügen.
  4. Wiederholen Sie den obigen Schritt, um mehrere Dateien hinzuzufügen.
  5. Rufen Sie die Methode Save() mit dem Ausgabedateipfad auf, um die Ausgabedatei zu speichern.

Das folgende Codebeispiel zeigt, wie Sie eine kennwortgeschützte ZIP-Datei mit C# erstellen.

// ein Archiv erstellen
Archive archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("12345")));

// Dateien zum Archiv hinzufügen
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt");
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt");

// Archiv speichern
archive.Save("C:\\Files\\password_protcted.zip");
Erstellen Sie passwortgeschützte ZIP-Archive

Erstellen Sie passwortgeschützte ZIP-Archive

Die Archive-Klasse repräsentiert eine ZIP-Archivdatei. Es bietet mehrere Methoden zum Erstellen, Zusammenstellen, Extrahieren oder Aktualisieren von ZIP-Archiven. Die Methode CreatEntry() dieser Klasse erstellt einen einzelnen Eintrag einer Datei innerhalb des Archivs. Als Eingabeparameter werden der Name der Datei und der vollständig qualifizierte Dateipfad verwendet. Diese Klasse stellt auch überladene CreatEntry()-Methoden bereit, um Dateien aus Stream oder FileInfo hinzuzufügen. Die Methode Save() dieser Klasse speichert das ZIP-Archiv unter dem angegebenen Dateipfad.

Die ArchiveEntrySettings-Klasse stellt Einstellungen zum Komprimieren oder Dekomprimieren der Einträge bereit. Die TraditionalEncryptionSetings-Klasse stellt Einstellungen für den herkömmlichen ZipCrypto-Algorithmus bereit. Es ist ein ZIP-Passwortschutzalgorithmus. Die Password-Eigenschaft dieser Klasse ermöglicht das Abrufen oder Festlegen eines Kennworts zum Verschlüsseln oder Entschlüsseln von Dateien und Ordnern in einem ZIP-Archiv.

Erstellen Sie verschlüsselte ZIP-Dateien mit AES-Verschlüsselung

Sie können Ihre ZIP-Archive programmgesteuert mit AES-Verschlüsselung verschlüsseln, indem Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der Klasse Archive mit dem Objekt ArchiveEntrySettings.
  2. Legen Sie das Passwort mit der Klasse AesEcryptionSettings fest. Übergeben Sie die Kennwortzeichenfolge und EncryptionMethod als Argumente an den Konstruktor.
  3. Rufen Sie die Methode CreatEntry() mit dem Pfad der Eingabedatei auf, um sie dem Archiv hinzuzufügen.
  4. Wiederholen Sie den obigen Schritt, um mehrere Dateien hinzuzufügen.
  5. Rufen Sie die Methode Save() mit dem Ausgabedateipfad auf, um die Ausgabedatei zu speichern.

Das folgende Codebeispiel zeigt, wie Sie eine mit AES-Verschlüsselung verschlüsselte ZIP-Datei mit C# erstellen.

// ein Archiv erstellen
Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128)));

// Dateien zum Archiv hinzufügen
archive.CreateEntry("abc.txt", "C:\\Files\\sample1.txt");

// Archiv speichern
archive.Save("C:\\Files\\aes.zip");

Die AesEncryptionSettings-Klasse stellt Einstellungen für den AES-Verschlüsselungs- oder -Entschlüsselungsalgorithmus bereit. Der Advanced Encryption Standard (AES) ist ein symmetrischer Verschlüsselungs- oder Entschlüsselungs-Blockverschlüsselungsalgorithmus.

Sie können die folgenden Arten von Verschlüsselungsmethoden verwenden:

  • Traditionell — Traditionelle PKWARE-Verschlüsselung
  • AES128 – Advanced Encryption Standard mit einer Schlüssellänge von 128 Bit
  • AES192 – Advanced Encryption Standard mit einer Schlüssellänge von 192 Bit
  • AES256 – Advanced Encryption Standard mit einer Schlüssellänge von 256 Bit

Verschlüsseln Sie Ordner in ZIP-Dateien

Sie können passwortgeschützte Ordner programmgesteuert zu ZIP-Dateien hinzufügen, indem Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der Klasse Archive mit dem Objekt ArchiveEntrySettings.
  2. Legen Sie das Passwort mit dem Objekt TraditionalEncryptionSettings fest.
  3. Rufen Sie die Methode CreatEntries() mit dem Ordnerpfad auf, der dem Archiv hinzugefügt werden soll.
  4. Wiederholen Sie den obigen Schritt, um mehrere Ordner hinzuzufügen.
  5. Rufen Sie die Methode Save() mit dem Ausgabedateipfad auf, um die Ausgabedatei zu speichern.

Das folgende Codebeispiel zeigt, wie Sie der ZIP-Datei mit C# einen verschlüsselten Ordner hinzufügen.

// ein Archiv erstellen
Archive archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("123@45")));

// Ordner zum Archiv hinzufügen
archive.CreateEntries("C:\\Files\\MyFolder");

// Archiv speichern
archive.Save("C:\\Files\\password_protcted_folder.zip");

Verschlüsseln Sie bestimmte Dateien in ZIP-Archiven

Sie können bestimmte Dateien in den ZIP-Archiven programmgesteuert verschlüsseln, indem Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der Klasse Archive.
  2. Rufen Sie die Methode CreatEntry() mit dem Pfad der Eingabedatei auf, um sie dem Archiv hinzuzufügen.
  3. Legen Sie das Kennwort für die Datei mithilfe der ArchiveEntrySettings mit den TraditionalEncryptionSettings fest.
  4. Rufen Sie die Methode CreatEntry() mit dem Eingabedateipfad auf, um dem Archiv eine weitere Datei hinzuzufügen.
  5. Wiederholen Sie die obigen Schritte, um weitere Dateien hinzuzufügen.
  6. Rufen Sie die Methode Save() mit dem Ausgabedateipfad auf, um die Ausgabedatei zu speichern.

Das folgende Codebeispiel zeigt, wie bestimmte Dateien im ZIP-Archiv mit C# verschlüsselt werden.

// ein Archiv erstellen
Archive archive = new Archive();

// Dateien zum Archiv hinzufügen
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt");
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt", false, new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("123@abc")));

// Archiv speichern
archive.Save("C:\\Files\\password_protcted.zip");
Verschlüsseln Sie bestimmte Dateien in ZIP-Archiven

Verschlüsseln Sie bestimmte Dateien in ZIP-Archiven

Erstellen Sie verschlüsselte ZIP-Dateien mit gemischter Verschlüsselung

Sie können ZIP-Archive erstellen, die Dateien und Ordner enthalten, die mit gemischten Verschlüsselungstechniken geschützt sind, die für jede Datei und jeden Ordner programmgesteuert variieren, indem Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine Instanz der Klasse Archive.
  2. Rufen Sie die Methode CreatEntry() mit dem Pfad der Eingabedatei auf, um sie dem Archiv hinzuzufügen.
  3. Legen Sie das Passwort für die Datei mithilfe der ArchiveEntrySettings mit den AesEcryptionSettings fest.
  4. Rufen Sie die Methode CreatEntry() mit dem Eingabedateipfad auf, um dem Archiv eine weitere Datei hinzuzufügen.
  5. Legen Sie das Kennwort für die Datei mithilfe der ArchiveEntrySettings mit den TraditionalEncryptionSettings fest.
  6. Rufen Sie die Methode CreatEntry() mit dem Eingabedateipfad auf, um dem Archiv eine weitere Datei hinzuzufügen.
  7. Rufen Sie die Methode CreateEntries() mit dem Ordnerpfad auf, der dem Archiv hinzugefügt werden soll.
  8. Speichern Sie die Ausgabedatei mit der Methode Save() mit dem Ausgabedateipfad.

Das folgende Codebeispiel zeigt, wie Sie mit C# eine ZIP-Datei mit gemischten Verschlüsselungstechniken erstellen.

// ein Archiv erstellen
Archive archive = new Archive();

// Datei mit AES-Verschlüsselung zum Archiv hinzufügen
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt", false, new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128)));

// Datei mit herkömmlicher Verschlüsselung zum Archiv hinzufügen
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt", false, new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("321")));

// Datei ohne Verschlüsselung zum Archiv hinzufügen
archive.CreateEntry("sample3.txt", "C:\\Files\\sample2.txt");

// Ordner ohne Verschlüsselung zum Archiv hinzufügen
archive.CreateEntries("C:\\Files\\MyFolder");

// Archiv speichern
archive.Save("C:\\Files\\Mixed.zip");
Erstellen Sie verschlüsselte ZIP-Archive mit gemischter Verschlüsselung

Erstellen Sie eine verschlüsselte ZIP-Datei mit gemischter Verschlüsselung

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie verschlüsselte ZIP-Dateien mit C# erstellen. Sie haben auch gelernt, wie Sie programmgesteuert eine passwortgeschützte ZIP-Datei erstellen. Außerdem haben Sie gelernt, wie Sie bestimmte Dateien in den ZIP-Archiven verschlüsseln. Außerdem haben Sie gelernt, wie Sie passwortgeschützte Ordner zu ZIP-Dateien hinzufügen. In diesem Artikel wurde auch erläutert, wie Sie eine mit gemischten Verschlüsselungstechniken verschlüsselte ZIP-Datei mit C# erstellen. Weitere Informationen zu Aspose.ZIP für die .NET-API finden Sie in der Dokumentation. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch