
如何在 C# 中创建带密码的 ZIP 文件
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项目中。 支持各种存档格式,包括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加密设置来为ZIP文件提供密码保护。
- 自定义9级压缩。 提供最佳的尺寸缩减。
- 管理存档中的文件项,包括添加、提取和删除。
安装
- 通过NuGet包管理器或包管理控制台快速轻松安装。
- 与DigiCert签名的二进制文件集成,确保二进制文件认证安全。
在Visual Studio中创建C#控制台项目的步骤
让我们逐步进行创建一个C#控制台项目,并使用IronZIP对ZIP文件进行密码保护。
- 打开 Visual Studio。
- 创建一个新的C#控制台应用程序项目。
- 给你的项目命名并选择一个地点。

- 从"附加信息"中选择最新版本的 .NET Framework。 IronZIP支持最新的8.0 .NET Framework。
- 点击"创建"生成项目。
安装IronZIP
要在项目中使用IronZIP,您需要安装该库。 您可以使用NuGet包管理器或包管理控制台来完成此操作。
使用 NuGet 包管理器
- 在解决方案资源管理器中右键单击您的项目。
- 选择"管理NuGet包..."
- 搜索 "IronZIP" 并点击 "Install"。

使用包管理器控制台
-
打开包管理控制台。
-
运行以下命令:
ZIP文件添加密码保护步骤
现在IronZIP已安装,您可以继续使用该库对ZIP文件进行密码保护。
导入所需库
using IronZip;
using IronZip.Enum;Imports IronZip
Imports IronZip.Enum这些代码行从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 UsingIronZipArchive对象在使用后能正确释放。 它创建了一个IronZipArchive的新实例,其压缩级别为最高(9)。
ZIP存档添加密码保护
以下单行代码向ZIP存档添加了密码保护:
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")image1.png)被添加到归档中。
这些是要添加的文件:

导出ZIP存档
archive.SaveAs("output.zip");archive.SaveAs("output.zip")SaveAs方法用于导出ZIP归档。它指定输出文件名为"output.zip"。 这会创建一个带有指定内容和密码的密码保护ZIP文件。
访问代码示例页面,了解更多关于如何使用IronZIP在C#中创建、读取、提取及执行其他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文件的重要性,并介绍了IronZIP库作为处理C#项目中ZIP存档的强大解决方案。 我们介绍了IronZIP的详细功能,包括兼容性、存档生成、编辑功能以及简单安装步骤。 该库支持传统和高级的加密方法,以保护文件免受篡改。 最后,我们逐步演示了如何在Visual Studio中创建一个C#控制台项目、安装IronZIP并对ZIP文件进行密码保护。
IronZIP简化了在C#应用程序中处理ZIP文件的过程,提供了一个强大的工具集用于存档管理和安全性。 将IronZIP集成到您的项目中,可以在处理ZIP存档中敏感信息时增强数据保护。 欲了解更多关于IronZIP及其功能的详细信息,请访问官方文档页面。
IronZIP提供免费试用以供长期使用。 它的精简包始于$999。

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章


