フッターコンテンツにスキップ
IRONZIPの使用

パスワード付きでC#でファイルをZIPする方法

ZIPファイルはデータの圧縮とアーカイブに広く使用されており、大量のファイルセットを容易に転送および保存できるようにします。 しかし、追加のセキュリティが必要なシナリオがあり、パスワード保護されたZIPファイルの重要性が高まります。 パスワード保護は、許可された個人のみがZIPアーカイブの内容にアクセスして抽出できるようにし、機密データに追加のセキュリティ層を追加します。

この記事では、C#とIronZIPライブラリを使用してパスワード保護されたZIPファイルを作成する方法を探ります。 IronZIPは、.NETアプリケーションでZIPファイルを扱うプロセスを簡素化する強力なC# ZIPアーカイブライブラリです。

パスワード保護を使用したC# ZIPファイルの作成方法

  1. Visual StudioでC#プロジェクトを作成
  2. NuGetパッケージマネージャーからIronZIPライブラリをインストール
  3. IronZipArchiveクラスを使用して空のZIPアーカイブオブジェクトを作成
  4. Encryptメソッドを使用してパスワード保護を追加
  5. Addメソッドを使用してアーカイブオブジェクトにファイルを追加
  6. SaveAsメソッドを使用してZIPアーカイブをエクスポート

IronZIPライブラリの紹介

パスワード付きC#でZIPファイル: 図1 - 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ファイルをパスワード保護するステップを見てみましょう。

  1. Visual Studioを開きます。
  2. 新しいC#コンソールアプリケーションプロジェクトを作成。
  3. プロジェクトに名前を付け、ロケーションを選択します。

    パスワード付きC#でZIPファイル: 図2 - プロジェクトの名前と場所の設定

  4. 追加情報から .NET フレームワークの最新バージョンを選択します。 IronZIPは最新の8.0 .NETフレームワークをサポートしています。
  5. 「作成」をクリックしてプロジェクトを生成します。

IronZIPのインストール

プロジェクトでIronZIPを使用するには、ライブラリをインストールする必要があります。 NuGetパッケージマネージャーまたはパッケージマネージャーコンソールを使用してこれを行うことができます。

NuGetパッケージマネージャーを使用

  1. ソリューション エクスプローラーでプロジェクトを右クリックします。
  2. "NuGetパッケージの管理..." を選択。
  3. "IronZip"を検索して"インストール"をクリック。

パスワード付きC#でZIPファイル: 図3 - NuGetパッケージマネージャーでのIronZIPのインストール

パッケージ マネージャー コンソールの使用

  1. パッケージマネージャーコンソールを開きます。
  2. 次のコマンドを実行します:

    Install-Package IronZip

ZIPファイルをパスワード保護する手順

IronZIPがインストールされたら、ライブラリを使用してZIPファイルをパスワード保護することができます。

必要なライブラリのインポート

using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
Imports IronZip
Imports IronZip.Enum
$vbLabelText   $csharpLabel

これらの行は、IronZIPライブラリから必要な名前空間をインポートします:IronZipは主なクラスと機能を含み、IronZip.Enumはライブラリで使用される列挙型を含みます。

メインプログラムクラス

class Program
{
    static void Main()
    {
        // Code execution starts here
    }
}
class Program
{
    static void Main()
    {
        // Code execution starts here
    }
}
Friend Class Program
	Shared Sub Main()
		' Code execution starts here
	End Sub
End Class
$vbLabelText   $csharpLabel

これはMainメソッドを持つプログラムのメインクラスであり、コードの実行が開始される場所です。

空のZIPアーカイブの作成

using (var archive = new IronZipArchive(9)) 
{ 
     // Code within the 'using' block 
}
using (var archive = new IronZipArchive(9)) 
{ 
     // Code within the 'using' block 
}
Using archive = New IronZipArchive(9)
	 ' Code within the 'using' block 
End Using
$vbLabelText   $csharpLabel

usingステートメントは、IronZipArchiveオブジェクトが使用後に適切に破棄されることを保証します。 圧縮率が最も高い9で IronZipArchive の新しいインスタンスを作成します。

ZIPアーカイブのパスワード保護

次の1行のコードは、ZIPアーカイブにパスワード保護を追加します:

archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

archiveオブジェクトのEncryptメソッドが呼び出され、ZIPファイルをパスワードで保護します。それは2つのパラメータを取ります:パスワード文字列("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");
archive.Add("./assets/file1.txt")
archive.Add("./assets/image1.png")
$vbLabelText   $csharpLabel

Addメソッドを使用して、ZIPアーカイブにファイルを追加します。この例では、"./assets/"ディレクトリにある1つのテキストファイルと1つの画像ファイル(file1.txtおよびimage1.png)をアーカイブに追加します。

これらが追加されるファイルです:

パスワード付きC#でZIPファイル: 図4 - ZIPファイル内で追加されたファイルの見た目

ZIPアーカイブのエクスポート

archive.SaveAs("output.zip");
archive.SaveAs("output.zip");
archive.SaveAs("output.zip")
$vbLabelText   $csharpLabel

ZIPアーカイブをエクスポートするためにSaveAsメソッドが呼ばれます。それは"output.zip"として出力ファイル名を指定します。 これにより、指定された内容とパスワードでパスワード保護されたZIPファイルが作成されます。

Visit the code examples page to learn more about how to create, read, extract, and perform other ZIP file-related operations in C# using IronZIP.

制御を強化するために分離された文字列パスとパスワードプロパティを持つ完全なソースコードは以下の通りです:

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");
        }
    }
}
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

Friend Class Program
	Shared 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 = 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 Class
$vbLabelText   $csharpLabel

出力

プログラムを実行すると、プロジェクトディレクトリに"output.zip"という名前のパスワード保護された単一ファイルが作成され、指定されたファイルが含まれます。

パスワード付きC#でZIPファイル: 図5 - パスワードを尋ねるパスワード保護されたZIPファイルのポップアップ

結論

この記事では、パスワード保護されたZIPファイルの重要性を探り、C#プロジェクトでZIPアーカイブを扱うための強力なソリューションとしてIronZIPライブラリを紹介しました。 IronZIPの詳細な機能、互換性、アーカイブの生成と編集の機能、および簡単なインストール手順を詳しく説明しました。 従来および高度な暗号化方式をサポートしており、ファイルを改ざんから保護します。 最後に、Visual StudioでC#コンソールプロジェクトを作成し、IronZIPをインストールし、ZIPファイルをパスワード保護する手順を確認しました。

IronZIPは、C#アプリケーションでのZIPファイルの取り扱いプロセスを簡素化し、開発者にアーカイブ管理とセキュリティのための強力なツールセットを提供します。 IronZIPをプロジェクトに組み込むことで、ZIPアーカイブで機密情報を扱う際のデータ保護を強化できます。 IronZIPの詳細とその機能に関する詳細情報については、公式ドキュメントページをご覧ください。

IronZIPは長期間の使用向けの無料試用版を提供しています。 その軽量パッケージは$799から始まります。

よくある質問

C# でパスワード保護された ZIP ファイルを作成するにはどうすればよいですか?

C# でパスワード保護された ZIP ファイルを作成するには、IronZIP ライブラリを使用できます。まず NuGet でライブラリをインストールし、IronZipArchive オブジェクトを作成し、Encrypt メソッドを使用してパスワードを追加し、アーカイブにファイルを追加し、SaveAs で保存します。

ZIP ファイルを保護するための暗号化オプションにはどのようなものがありますか?

IronZIP は、ZIP ファイルを保護するための従来型、AES128、および AES256 暗号化方法を提供します。これらのオプションは、ZIP アーカイブ内の機密データを保護するためのさまざまなレベルのセキュリティを提供します。

IronZIP は複数の .NET バージョンに対応していますか?

はい、IronZIP は .NET 8、7、6、5、Core、Standard、Framework に対応しており、さまざまな .NET 環境で作業する開発者にとって柔軟な選択肢となります。

プロジェクトに IronZIP をインストールするにはどうすればよいですか?

Visual Studio の NuGet パッケージ マネージャーを使用して IronZIP をインストールできます。パッケージ マネージャーで 'IronZip' を検索し、プロジェクトに追加して ZIP ファイルの管理を開始します。

IronZIP は C# 以外のプログラミング言語で使用できますか?

はい、IronZIP は C# に加えて VB.NET および F# にも対応しているため、開発者はさまざまな .NET 言語アプリケーションで使用できます。

ZIP ファイル管理用の C# コンソール アプリケーションをセットアップするにはどのような手順が必要ですか?

IronZIP を使用した ZIP ファイル管理用の C# コンソール アプリケーションをセットアップするには、Visual Studio で新しいコンソール プロジェクトを作成し、NuGet 経由で IronZIP をインストールし、ライブラリのドキュメントに従って ZIP ファイル機能を追加します。

ZIP ファイルを扱うために IronZIP を使用する主な利点は何ですか?

IronZIP は、使いやすい API、クロスプラットフォームのサポート、パスワード保護や複数のアーカイブ形式のサポートなど、ZIP ファイルの管理を簡素化し、機能性とデータセキュリティを向上させます。

パスワード保護は ZIP ファイルのセキュリティをどのように向上させますか?

パスワード保護により、権限のある個人のみが ZIP ファイルの内容にアクセスできるようになり、アーカイブ内に保存された機密データに重要なセキュリティ層が追加されます。

Curtis Chau
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。