跳至頁尾內容
USING IRONZIP

如何在 C# 中使用密碼壓縮文件

ZIP檔案被廣泛用於壓縮和存檔資料,方便傳輸和儲存大型文件集合。 然而,有些情況下需要額外的安全措施,這使得密碼保護的zip檔案變得重要。 密碼保護確保只有授權的人員才能存取和提取ZIP存檔的內容,為敏感資料增加了一層額外的安全。

在本文中,我們將探索如何使用C#和IronZIP程式庫建立一個密碼保護的ZIP檔案。 IronZIP是一個功能強大的C# ZIP存檔程式庫,簡化了在.NET應用程式中處理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是一個領先的C# ZIP存檔程式庫,專為在.NET中建立、讀取和提取存檔而設計。 它提供了易於使用的API,允許開發人員輕鬆將存檔管理功能整合到他們的.NET專案中。 IronZIP支援多種存檔格式,包括ZIP、TAR、GZIP和BZIP2,提供了解決ZIP檔案處理的全面方案。

IronZIP的詳細功能

相容性

  • 支援 .NET 8、7、6、5、Core、Standard 和 Framework。
  • 與C#、VB.NET、F#語言相容。
  • 支援Windows、Linux、Mac、iOS、Android、Docker、Azure和AWS的跨平台。
  • 與流行的IDE如Microsoft Visual Studio和JetBrains ReSharper & Rider整合。

存檔生成與編輯

  • 支援ZIP、TAR、GZIP和BZIP2存檔格式。
  • 建立、導入和導出ZIP檔案。
  • 使用傳統、AES128或AES256加密設置對ZIP檔案進行密碼保護。
  • 自定義壓縮,共9個級別。 提供最佳的大小縮減。
  • 管理存檔中的文件條目,包含新增、提取和刪除。

安裝

  • 通過NuGet套件管理員或套件管理員控制台進行快速和輕鬆的安裝。
  • 與DigiCert簽名的二進位文件整合以進行安全的二進位文件認證。

在Visual Studio中建立C#控制台專案的步驟

讓我們走過在Visual Studio中建立C#控制台專案並使用IronZIP對zip檔案進行密碼保護的步驟。

  1. 打開Visual Studio。
  2. 建立一個新的C#控制台應用程式專案。
  3. 為您的專案命名並選擇一個位置。

如何在C#中以密碼壓縮文件:圖2 - 設置專案名稱和位置

  1. 從附加資訊中選擇最新版本的.NET Framework。 IronZIP支援最新的8.0 .NET Framework。
  2. 點擊"建立"來生成專案。

安裝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;
Imports IronZip
Imports IronZip.Enum
$vbLabelText   $csharpLabel

這些行匯入了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

IronZipArchive物件在使用後被正確處理。 它建立了IronZipArchive的新的實例,具有最高壓縮級別(9)。

為ZIP存檔設置密碼保護

以下單行程式碼為ZIP存檔新增密碼保護

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

EncryptionMethods.Traditional)。

IronZIP還提供AES128和AES256進階密碼保護,這更安全並防止ZIP檔案的篡改。

將文件新增到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

image1.png)被新增到存檔中。

這些是要新增的文件:

如何在C#中以密碼壓縮文件:圖4 - 在ZIP文件中新增的文件外觀

導出ZIP存檔

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

調用SaveAs方法來導出ZIP存檔。它指定輸出文件名為"output.zip"。 這會建立一個含有指定內容和密碼的密碼保護的ZIP檔案。

存取程式碼範例頁面,瞭解更多關於如何使用IronZIP在C#中進行建立、讀取、提取及其他相關操作。

這是完整的源程式碼,具有分離的字串路徑和一個密碼屬性以便更好的控制:

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#中以密碼壓縮文件:圖5 - 密碼保護的ZIP文件彈出要求輸入密碼

結論

在這篇文章中,我們探討了密碼保護的ZIP檔案的重要性,並介紹了IronZIP程式庫作為在C#專案中處理ZIP存檔的一個強大的解決方案。 我們涵蓋了IronZIP的詳細功能,包括相容性、存檔生成、編輯能力,以及簡單的安裝步驟。 該程式庫支援傳統和先進的加密方法以保護文件不受篡改。 最後,我們介紹了建立C#控制台專案、安裝IronZIP及對ZIP文件進行密碼保護的步驟。

IronZIP簡化了在C#應用程式中處理ZIP檔案的過程,為開發人員提供了一個強大的存檔管理和安全工具集合。 將IronZIP合併到您的專案中,允許在處理含有敏感資訊的ZIP存檔時增強資料保護。 欲了解IronZIP及其功能的更多詳細資訊,請存取官方文件頁面。

IronZIP提供免費試用供長期使用。 其基礎版本從$999開始。

常見問題

如何在C#中建立加密的ZIP文件?

您可以使用IronZIP程式庫在C#中建立一個加密的ZIP文件。首先,通過NuGet安裝該程式庫,然後建立一個IronZipArchive物件,使用Encrypt方法新增密碼,將文件新增到存檔,並使用SaveAs保存該存檔。

有哪些加密選項可用於保護ZIP文件?

IronZIP提供傳統、AES128和AES256加密方法來保護ZIP文件。這些選項提供不同等級的安全性,以保護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文件功能。

使用IronZIP管理ZIP文件的主要優勢是什麼?

IronZIP通過提供易於使用的API、跨平台支持、以及密碼保護和支持多種存檔格式的功能,簡化了ZIP文件的管理,增強了功能和資料安全性。

密碼保護如何提高ZIP文件的安全性?

密碼保護確保只有授權人士可以存取ZIP文件的內容,為儲存在存檔中的敏感資料增添了重要的安全層。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話