如何在 C# 中使用密碼壓縮文件
ZIP檔案被廣泛用於壓縮和存檔資料,方便傳輸和儲存大型文件集合。 然而,有些情況下需要額外的安全措施,這使得密碼保護的zip檔案變得重要。 密碼保護確保只有授權的人員才能存取和提取ZIP存檔的內容,為敏感資料增加了一層額外的安全。
在本文中,我們將探索如何使用C#和IronZIP程式庫建立一個密碼保護的ZIP檔案。 IronZIP是一個功能強大的C# ZIP存檔程式庫,簡化了在.NET應用程式中處理ZIP檔案的過程。
如何建立具有密碼保護功能的C# ZIP檔案
- 在Visual Studio中建立一個C#專案
- 從NuGet套件管理員安裝IronZIP程式庫
- 使用
IronZipArchive類建立一個空的ZIP存檔物件 - 使用
Encrypt方法新增密碼保護 - 使用
Add方法將文件新增到存檔物件 - 使用
SaveAs方法導出ZIP存檔
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檔案進行密碼保護的步驟。
- 打開Visual Studio。
- 建立一個新的C#控制台應用程式專案。
- 為您的專案命名並選擇一個位置。

- 從附加資訊中選擇最新版本的.NET Framework。 IronZIP支援最新的8.0 .NET Framework。
- 點擊"建立"來生成專案。
安裝IronZIP
要在專案中使用IronZIP,您需要安裝該程式庫。 您可以使用NuGet套件管理員或套件管理員控制台完成此操作。
使用NuGet套件管理員
- 在解決方案資源管理器中右鍵點擊您的專案。
- 選擇"管理NuGet套件..."。
- 搜索"IronZIP"並點擊"安裝"。

使用套件管理員控制台
- 打開套件管理員控制台。
-
執行以下命令:
Install-Package IronZip
對Zip文件進行密碼保護的步驟
現在IronZIP已經安裝好,您可以繼續使用該程式庫對zip檔案進行密碼保護。
匯入所需的程式庫
using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
Imports IronZip
Imports IronZip.Enum
這些行匯入了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
這是程式的主要類,其中有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
IronZipArchive物件在使用後被正確處理。 它建立了IronZipArchive的新的實例,具有最高壓縮級別(9)。
為ZIP存檔設置密碼保護
以下單行程式碼為ZIP存檔新增密碼保護:
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional)
在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")
image1.png)被新增到存檔中。
這些是要新增的文件:

導出ZIP存檔
archive.SaveAs("output.zip");
archive.SaveAs("output.zip");
archive.SaveAs("output.zip")
調用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
輸出
運行程式後,您將在專案目錄中擁有一個名為"output.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文件的內容,為儲存在存檔中的敏感資料增添了重要的安全層。




