跳至页脚内容
使用 IRONZIP

如何在 C# 中创建带密码的 ZIP 文件

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#中建立带有密码的ZIP文件:图1 - 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文件进行密码保护。

  1. 打开 Visual Studio。
  2. 创建一个新的C#控制台应用程序项目。
  3. 给你的项目命名并选择一个地点。

如何在C#中建立带有密码的ZIP文件:图2 - 配置项目名称和位置

  1. 从"附加信息"中选择最新版本的 .NET Framework。 IronZIP支持最新的8.0 .NET Framework。
  2. 点击"创建"生成项目。

安装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存档添加密码保护

以下单行代码向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文件密码保护。它接受两个参数:密码字符串("P@ssw0rd")和加密方法(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

Add方法用于向ZIP存档添加文件。在此示例中,位于"./assets/"目录下的一个文本文件和一个图像文件(file1.txtimage1.png)被添加到存档中。

这些是要添加的文件:

如何在C#中建立带有密码的ZIP文件:图4 - ZIP文件中添加文件的外观

导出ZIP存档

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

调用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");
        }
    }
}
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文件的重要性,并介绍了IronZIP库作为处理C#项目中ZIP存档的强大解决方案。 我们介绍了IronZIP的详细功能,包括兼容性、存档生成、编辑功能以及简单安装步骤。 该库支持传统和高级的加密方法,以保护文件免受篡改。 最后,我们逐步演示了如何在Visual Studio中创建一个C#控制台项目、安装IronZIP并对ZIP文件进行密码保护。

IronZIP简化了在C#应用程序中处理ZIP文件的过程,提供了一个强大的工具集用于存档管理和安全性。 将IronZIP集成到您的项目中,可以在处理ZIP存档中敏感信息时增强数据保护。 欲了解更多关于IronZIP及其功能的详细信息,请访问官方文档页面。

IronZIP提供免费试用以供长期使用。 它的轻量版套餐从$799开始。

常见问题解答

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

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。