フッターコンテンツにスキップ
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# でパスワード付きでファイルを圧縮する方法: 図 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# でパスワード付きでファイルを圧縮する方法: 図 2 - プロジェクト名と場所の設定

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

IronZIPのインストール

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

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

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

C# でパスワード付きでファイルを圧縮する方法: 図 3 - NuGetパッケージ マネージャーを使用してIronZIPをインストールする

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

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

    Install-Package IronZip

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

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

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

using IronZip;
using IronZip.Enum;
using IronZip;
using 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
    }
}
$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 
}
$vbLabelText   $csharpLabel

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

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

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

archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
$vbLabelText   $csharpLabel

Encrypt メソッドは、ZIP ファイルをパスワードで保護するために、archive オブジェクトで呼び出されます。このメソッドは、パスワード文字列 ("P@ssw0rd") と暗号化方式 (EncryptionMethods.Traditional) の 2 つのパラメータを受け取ります。

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");
$vbLabelText   $csharpLabel

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

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

C# でパスワード付きでファイルを圧縮する方法: 図 4 - ZIP ファイル内の追加ファイルの表示方法

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

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

SaveAs メソッドが呼び出され、ZIP アーカイブがエクスポートされます。出力ファイル名は"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");
        }
    }
}
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");
        }
    }
}
$vbLabelText   $csharpLabel

出力

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

C# でパスワード付きでファイルを圧縮する方法: 図 5 - パスワードで保護された ZIP ファイルのポップアップでパスワードを要求

結論

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

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

IronZIPは長期間の使用向けの無料試用版を提供しています。 そのLiteパッケージは$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は、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね