
パスワード付きでC#でファイルをZIPする方法
ZIPファイルはデータの圧縮とアーカイブに広く使用されており、大量のファイルセットを容易に転送および保存できるようにします。 しかし、追加のセキュリティが必要なシナリオがあり、パスワード保護されたZIPファイルの重要性が高まります。 パスワード保護は、許可された個人のみがZIPアーカイブの内容にアクセスして抽出できるようにし、機密データに追加のセキュリティ層を追加します。
この記事では、C#とIronZIPライブラリを使用してパスワード保護されたZIPファイルを作成する方法を探ります。 IronZIPは、.NETアプリケーションでZIPファイルを扱うプロセスを簡素化する強力なC# ZIPアーカイブライブラリです。
C#でパスワード保護されたZIPファイルを作成する方法
- Visual StudioでC#プロジェクトを作成
- NuGetパッケージマネージャーからIronZIPライブラリをインストール
IronZipArchiveクラスを使用して空のZIPアーカイブオブジェクトを作成しますEncryptメソッドを使用してパスワード保護を追加しますAddメソッドを使用してファイルをアーカイブオブジェクトに追加しますSaveAsメソッドを使用してZIPアーカイブをエクスポートします
IronZIPライブラリの紹介

IronZIPは、.NETでアーカイブを作成、読み取り、抽出するために設計された主要なC# ZIPアーカイブライブラリです。 ユーザーフレンドリーなAPIを提供しており、開発者が簡単に.NETプロジェクトにアーカイブ管理機能を組み込むことができます。 ZIP、TAR、GZIP、BZIP2などのさまざまなアーカイブ形式をサポートし、IronZIPはZIPファイルの取り扱いに最適なソリューションを提供します。
IronZIPの詳細機能
互換性
- .NET 8、7、6、5、Core、Standard、Frameworkをサポート。
- C#、VB.NET、F#言語と互換性あり。
- Windows、Linux、Mac、iOS、Android、Docker、Azure、AWSのクロスプラットフォームサポート。
- Microsoft Visual StudioやJetBrains ReSharper & Riderなどの人気IDEとの統合。
アーカイブ生成と編集
- ZIP、TAR、GZIP、BZIP2アーカイブ形式をサポート。
- ZIPファイルの作成、インポート、エクスポート。
- パスワード保護は従来の方法、AES128またはAES256暗号化設定を使用。
- 9レベルでのカスタム圧縮。 最高の圧縮率を提供します。
- アーカイブ内のファイルエントリの管理、追加、抽出、削除を含む。
インストール
- NuGetパッケージマネージャーまたはパッケージマネージャーコンソールで簡単かつ迅速なインストール。
- セキュアなバイナリ認証のためにDigiCert署名されたバイナリとの統合。
Visual StudioでのC#コンソールプロジェクトの作成手順
Visual StudioでC#コンソールプロジェクトを作成し、IronZIPを使用してZIPファイルをパスワード保護するステップを見てみましょう。
-
Visual Studioを開きます。
-
新しいC#コンソールアプリケーションプロジェクトを作成。
-
プロジェクトに名前を付け、ロケーションを選択します。

-
追加情報から .NET Frameworkの最新バージョンを選択します。 IronZIPは最新の8.0 .NETフレームワークをサポートしています。
-
"作成"をクリックしてプロジェクトを生成します。
IronZIPのインストール
プロジェクトでIronZIPを使用するには、ライブラリをインストールする必要があります。 NuGetパッケージマネージャーまたはパッケージマネージャーコンソールを使用してこれを行うことができます。
NuGetパッケージマネージャーを使用
- ソリューション エクスプローラーでプロジェクトを右クリックします。
- "NuGetパッケージの管理..." を選択。
- "IronZIP"を検索して"インストール"をクリックします。

パッケージ マネージャー コンソールの使用
-
パッケージマネージャーコンソールを開きます。
-
次のコマンドを実行します:
ZIPファイルをパスワード保護する手順
IronZIPがインストールされたら、ライブラリを使用してZIPファイルをパスワード保護することができます。
必要なライブラリのインポート
using IronZip;
using IronZip.Enum;Imports IronZip
Imports IronZip.Enumこれらの行はIronZIPライブラリから必要な名前空間をインポートします: IronZip は主要なクラスと機能を含み、IronZip.Enum はライブラリで使用される列挙型を含みます。
メインプログラムクラス
class Program
{
static void Main()
{
// Code execution starts here
}
}Friend Class Program
Shared Sub Main()
' Code execution starts here
End Sub
End Classこれはプログラムのメインクラスであり、コード実行が始まる Main メソッドを含んでいます。
空のZIPアーカイブの作成
using (var archive = new IronZipArchive(9))
{
// Code within the 'using' block
}Using archive = New IronZipArchive(9)
' Code within the 'using' block
End Usingusing ステートメントは、IronZipArchive オブジェクトが使用後に適切に破棄されることを保証します。 最高圧縮レベル(9)で IronZipArchive の新しいインスタンスを作成します。
ZIPアーカイブのパスワード保護
次の1行のコードは、ZIPアーカイブにパスワード保護を追加します:
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional)ZIPファイルにパスワード保護をするために、archive オブジェクトに対して Encrypt メソッドを呼び出します。これは二つのパラメータ、パスワード文字列("P@ssw0rd")と暗号化方法(EncryptionMethods.Traditional)を取ります。
IronZIPは、より安全でZIPファイルの操作を防ぐAES128およびAES256の高度なパスワード保護も提供しています。
ZIPアーカイブへのファイル追加
archive.Add("./assets/file1.txt");
archive.Add("./assets/image1.png");archive.Add("./assets/file1.txt")
archive.Add("./assets/image1.png")Add メソッドはZIPアーカイブにファイルを追加するために使用されます。この例では、一つのテキストファイルと一つの画像ファイル(file1.txt と image1.png)を"./assets/"ディレクトリからアーカイブに追加します。
これらが追加されるファイルです:

ZIPアーカイブのエクスポート
archive.SaveAs("output.zip");archive.SaveAs("output.zip")ZIPアーカイブをエクスポートするために、SaveAs メソッドを呼び出します。出力ファイル名を"output.zip"と指定します。 これにより、指定された内容とパスワードでパスワード保護されたZIPファイルが作成されます。
コード例ページを訪れ、C#でのIronZIPを使用した作成、読み取り、抽出、およびその他のZIPファイル関連の操作について詳しく学びましょう。
制御を強化するために分離された文字列パスとパスワードプロパティを持つ完全なソースコードは以下の通りです:
using IronZip;
using IronZip.Enum;
class Program
{
static void Main()
{
// Define password and file paths for the ZIP archive
string password = "P@ssw0rd";
string filename = "./assets/file1.txt";
string imagename = "./assets/image1.png";
// Create a new ZIPArchive with the highest compression level
using (var archive = new IronZipArchive(9))
{
// Add Password to protect the ZIP (Support AES128 & AES256)
archive.Encrypt(password, EncryptionMethods.Traditional);
// Add files to the archive
archive.Add(filename);
archive.Add(imagename);
// Export the Encrypted ZIP file archive
archive.SaveAs("output.zip");
}
}
}Imports IronZip
Imports IronZip.Enum
Module Program
Sub Main()
' Define password and file paths for the ZIP archive
Dim password As String = "P@ssw0rd"
Dim filename As String = "./assets/file1.txt"
Dim imagename As String = "./assets/image1.png"
' Create a new ZIPArchive with the highest compression level
Using archive As New IronZipArchive(9)
' Add Password to protect the ZIP (Support AES128 & AES256)
archive.Encrypt(password, EncryptionMethods.Traditional)
' Add files to the archive
archive.Add(filename)
archive.Add(imagename)
' Export the Encrypted ZIP file archive
archive.SaveAs("output.zip")
End Using
End Sub
End Module出力
プログラムを実行すると、プロジェクトディレクトリに"output.zip"という名前のパスワード保護された単一ファイルが作成され、指定されたファイルが含まれます。

結論
この記事では、パスワード保護されたZIPファイルの重要性を探り、C#プロジェクトでZIPアーカイブを扱うための強力なソリューションとしてIronZIPライブラリを紹介しました。 IronZIPの詳細な機能、互換性、アーカイブの生成と編集の機能、および簡単なインストール手順を詳しく説明しました。 従来および高度な暗号化方式をサポートしており、ファイルを改ざんから保護します。 最後に、Visual StudioでC#コンソールプロジェクトを作成し、IronZIPをインストールし、ZIPファイルをパスワード保護する手順を確認しました。
IronZIPは、C#アプリケーションでのZIPファイルの取り扱いプロセスを簡素化し、開発者にアーカイブ管理とセキュリティのための強力なツールセットを提供します。 IronZIPをプロジェクトに組み込むことで、ZIPアーカイブで機密情報を扱う際のデータ保護を強化できます。 IronZIPの詳細とその機能に関する詳細情報については、公式ドキュメントページをご覧ください。
IronZIPは長期間の使用向けの無料試用版を提供しています。 そのLiteパッケージは$999から始まります。

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
関連する記事


