add-files-or-folders-to-zip-archives-using-csharp

ZIPファイルは、圧縮ファイルとフォルダーを単一のコンテナーに保持するために使用される最も一般的なタイプのアーカイブファイルです。 C#開発者は、.NETアプリケーションでC#を使用して、暗号化またはパスワードで保護されたZIPアーカイブをプログラムで簡単に作成できます。この記事では、C#を使用して暗号化されたZIPファイルを作成する方法を学習します。

この記事では、次のトピックについて説明/取り上げています。

暗号化されたZIPファイルを作成するためのC#API

暗号化されたZIPアーカイブを作成するには、Aspose.ZIP for .NETAPIを使用します。ファイルやフォルダを圧縮してZIPアーカイブに追加することができます。また、ZIP、TAR、GZIP、BZ2、7Zip、RARなどのサポートされているタイプのアーカイブを解凍できます。APIは、ユーザー定義のパスワードと、AES128、AES192、AES256などのAES暗号化を使用した従来の暗号化技術による保護を提供します。 。

APIのDLLをダウンロードするか、NuGetを使用してインストールできます。

Install-Package Aspose.ZIP

パスワードで保護されたZIPファイルを作成する

以下の手順に従って、パスワードで保護されたZIPアーカイブをプログラムで簡単に作成できます。

  1. ArchiveEntrySettingsオブジェクトを使用してArchiveクラスのインスタンスを作成します。
  2. TraditionalEncryptionSettingsオブジェクトを使用してパスワードを設定します。
  3. 入力ファイルパスを指定してCreatEntry()メソッドを呼び出し、アーカイブに追加します。
  4. 上記の手順を繰り返して、複数のファイルを追加します。
  5. 出力ファイルのパスを指定してSave()メソッドを呼び出し、出力ファイルを保存します。

次のコードサンプルは、C#を使用してパスワードで保護されたZIPファイルを作成する方法を示しています。

// アーカイブを作成する
Archive archive = new Archive(new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("12345")));

// アーカイブにファイルを追加する
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt");
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt");

// アーカイブを保存する
archive.Save("C:\\Files\\password_protcted.zip");
パスワードで保護されたZIPアーカイブを作成する

パスワードで保護されたZIPアーカイブを作成する

Archiveクラスは、ZIPアーカイブファイルを表します。 ZIPアーカイブを作成、作成、抽出、または更新するためのいくつかの方法を提供します。このクラスのCreatEntry()メソッドは、アーカイブ内にファイルの単一のエントリを作成します。ファイルの名前と完全修飾ファイルパスを入力パラメーターとして使用します。このクラスは、ストリームまたはFileInfoからファイルを追加するためのオーバーロードされたCreatEntry()メソッドも提供します。このクラスのSave()メソッドは、指定されたファイルパスにZIPアーカイブを保存します。

ArchiveEntrySettingsクラスは、エントリを圧縮または解凍するための設定を提供します。 TraditionalEncryptionSetingsクラスは、従来のZipCryptoアルゴリズムの設定を提供します。これは、ZIPパスワード保護アルゴリズムです。このクラスのPasswordプロパティを使用すると、ZIPアーカイブ内のファイルおよびフォルダーの暗号化または復号化用のパスワードを取得または設定できます。

AES暗号化を使用して暗号化されたZIPファイルを作成する

以下の手順に従って、プログラムでAES暗号化を使用してZIPアーカイブを暗号化できます。

  1. ArchiveEntrySettingsオブジェクトを使用してArchiveクラスのインスタンスを作成します。
  2. AesEcryptionSettingsクラスを使用してパスワードを設定します。パスワード文字列とEncryptionMethodを引数としてコンストラクターに渡します。
  3. 入力ファイルパスを指定してCreatEntry()メソッドを呼び出し、アーカイブに追加します。
  4. 上記の手順を繰り返して、複数のファイルを追加します。
  5. 出力ファイルのパスを指定してSave()メソッドを呼び出し、出力ファイルを保存します。

次のコードサンプルは、C#を使用してAES暗号化で暗号化されたZIPファイルを作成する方法を示しています。

// アーカイブを作成する
Archive archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128)));

// アーカイブにファイルを追加する
archive.CreateEntry("abc.txt", "C:\\Files\\sample1.txt");

// アーカイブを保存する
archive.Save("C:\\Files\\aes.zip");

AesEncryptionSettingsクラスは、AES暗号化または復号化アルゴリズムの設定を提供します。 Advanced Encryption Standard(AES)は、対称暗号化または復号化ブロック暗号アルゴリズムです。

次の種類の暗号化方式を使用できます。

  • 従来型—従来のPKWARE暗号化
  • AES128 —キー長128ビットのAdvanced Encryption Standard
  • AES192 —キー長192ビットのAdvanced Encryption Standard
  • AES256 —キー長256ビットのAdvanced Encryption Standard

ZIPファイルのフォルダを暗号化する

以下の手順に従って、パスワードで保護されたフォルダをプログラムでZIPファイルに追加できます。

  1. ArchiveEntrySettingsオブジェクトを使用してArchiveクラスのインスタンスを作成します。
  2. TraditionalEncryptionSettingsオブジェクトを使用してパスワードを設定します。
  3. アーカイブに追加するフォルダーパスを指定してCreatEntries()メソッドを呼び出します。
  4. 上記の手順を繰り返して、複数のフォルダを追加します。
  5. 出力ファイルのパスを指定してSave()メソッドを呼び出し、出力ファイルを保存します。

次のコードサンプルは、C#を使用して暗号化されたフォルダーをZIPファイルに追加する方法を示しています。

// アーカイブを作成する
Archive archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("123@45")));

// アーカイブにフォルダを追加します
archive.CreateEntries("C:\\Files\\MyFolder");

// アーカイブを保存する
archive.Save("C:\\Files\\password_protcted_folder.zip");

ZIPアーカイブ内の特定のファイルを暗号化する

以下の手順に従って、ZIPアーカイブ内の特定のファイルをプログラムで暗号化できます。

  1. Archiveクラスのインスタンスを作成します。
  2. 入力ファイルパスを指定してCreatEntry()メソッドを呼び出し、アーカイブに追加します。
  3. 従来のEncryptionSettingsでArchiveEntrySettingsを使用して、ファイルのパスワードを設定します。
  4. 入力ファイルパスを指定してCreatEntry()メソッドを呼び出し、アーカイブに別のファイルを追加します。
  5. 上記の手順を繰り返して、さらにファイルを追加します。
  6. 出力ファイルのパスを指定してSave()メソッドを呼び出し、出力ファイルを保存します。

次のコードサンプルは、C#を使用してZIPアーカイブ内の特定のファイルを暗号化する方法を示しています。

// アーカイブを作成する
Archive archive = new Archive();

// アーカイブにファイルを追加する
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt");
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt", false, new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("123@abc")));

// アーカイブを保存する
archive.Save("C:\\Files\\password_protcted.zip");
ZIPアーカイブ内の特定のファイルを暗号化する

ZIPアーカイブ内の特定のファイルを暗号化する

混合暗号化を使用して暗号化されたZIPファイルを作成する

以下の手順に従って、プログラムごとにファイルとフォルダーごとに異なる混合暗号化技術で保護されたファイルとフォルダーを含むZIPアーカイブを作成できます。

  1. Archiveクラスのインスタンスを作成します。
  2. 入力ファイルパスを指定してCreatEntry()メソッドを呼び出し、アーカイブに追加します。
  3. AesEcryptionSettingsでArchiveEntrySettingsを使用して、ファイルのパスワードを設定します。
  4. 入力ファイルパスを指定してCreatEntry()メソッドを呼び出し、アーカイブに別のファイルを追加します。
  5. 従来のEncryptionSettingsでArchiveEntrySettingsを使用して、ファイルのパスワードを設定します。
  6. 入力ファイルパスを指定してCreatEntry()メソッドを呼び出し、アーカイブに別のファイルを追加します。
  7. アーカイブに追加するフォルダーパスを指定してCreateEntries()メソッドを呼び出します。
  8. Save()メソッドと出力ファイルパスを使用して、出力ファイルを保存します。

次のコードサンプルは、C#を使用して混合暗号化技術を使用してZIPファイルを作成する方法を示しています。

// アーカイブを作成する
Archive archive = new Archive();

// AES暗号化を使用したファイルをアーカイブに追加します
archive.CreateEntry("sample1.txt", "C:\\Files\\sample1.txt", false, new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES128)));

// 従来の暗号化を使用したファイルをアーカイブに追加します
archive.CreateEntry("sample2.txt", "C:\\Files\\sample2.txt", false, new ArchiveEntrySettings(encryptionSettings: new TraditionalEncryptionSettings("321")));

// 暗号化せずにファイルをアーカイブに追加
archive.CreateEntry("sample3.txt", "C:\\Files\\sample2.txt");

// 暗号化せずにフォルダをアーカイブに追加します
archive.CreateEntries("C:\\Files\\MyFolder");

// アーカイブを保存する
archive.Save("C:\\Files\\Mixed.zip");
混合暗号化を使用して暗号化されたZIPアーカイブを作成する

混合暗号化を使用して暗号化されたZIPファイルを作成する

無料ライセンスを取得する

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

結論

この記事では、C#を使用して暗号化されたZIPファイルを作成する方法を学習しました。また、パスワードで保護されたZIPファイルをプログラムで作成する方法も学びました。さらに、ZIPアーカイブ内の特定のファイルを暗号化する方法を学びました。さらに、パスワードで保護されたフォルダをZIPファイルに追加する方法を学びました。この記事では、C#を使用して混合暗号化技術で暗号化されたZIPファイルを作成する方法についても説明しました。 ドキュメントを使用して、Aspose.ZIP for.NETAPIの詳細を確認できます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目