使用IRONZIP

如何使用密码在C#中压缩文件

查克尼特·宾
查克尼特·宾
2024年三月6日
分享:

ZIP 文件被广泛用于压缩和归档数据,使传输和存储大型文件集变得更加容易。 然而,在某些情况下,额外的安全性是必不可少的,这就导致了密码保护压缩文件的重要性。 密码保护确保只有授权人员可以访问和提取ZIP存档的内容,为敏感数据增加额外的安全层。

在本文中,我们将探讨如何使用 C# 和 IronZIP 库创建受密码保护的 ZIP 文件。 IronZIP 是一个功能强大的 C# ZIP 压缩文件库,可简化在 .NET 应用程序中处理 ZIP 文件的过程。

如何创建带密码保护的 (C#) ZIP 文件

  1. 在 Visual Studio 中创建 C# 项目

  2. 从 NuGet 软件包管理器安装 IronZIP 库

  3. 使用 IronZipArchive 类创建一个空的 ZIP 存档对象

  4. 使用加密方法添加密码保护

  5. 使用Add方法将文件添加到存档对象中

  6. 使用SaveAs方法导出ZIP归档

IronZIP 库简介

如何在 C# 中使用密码压缩文件:图 1 - IronZIP 网页

IronZIP 是一个领先的C# ZIP档案库,专为在.NET中创建、读取和提取档案而设计。 它提供了用户友好的 API,使开发人员能够轻松地将归档管理功能整合到他们的 .NET 项目中。 IronZIP 支持包括 ZIP、TAR、GZIP 和 BZIP2 在内的各种压缩格式,为轻松处理压缩文件提供了全面的解决方案。

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 等常用集成开发环境集成。

存档生成和编辑

  • 支持 ZIP、TAR、GZIP 和 BZIP2 存档格式。
  • 创建、导入和导出 ZIP 文件。
  • 使用传统、AES128 或 AES256 加密设置为 ZIP 文件提供密码保护。
  • 9 级自定义压缩。 提供最佳缩减。
  • 管理存档中的文件条目,包括添加、提取和删除。

安装

  • 通过 NuGet 软件包管理器或软件包管理器控制台进行快速简便的安装。
  • 与 DigiCert 签名二进制文件集成,实现安全的二进制认证。

在 Visual Studio 中创建 C# Console 项目的步骤

让我们来看看在 Visual Studio 中创建 C# 控制台项目并使用 IronZIP 对压缩文件进行密码保护的步骤。

  1. 打开 Visual Studio。

  2. 创建一个新的 C# 控制台应用程序项目。

  3. 为您的项目命名并选择地点。

    如何在 C# 中对文件进行加密压缩:图 2 - 配置项目名称和位置

  4. 从 "附加信息 "中选择最新版本的 .NET Framework。 IronZIP 支持最新的 8.0 .NET Framework。

  5. 单击 "创建 "生成项目。

安装 IronZIP

要在项目中使用 IronZIP,您需要安装该库。 您可以使用 NuGet 软件包管理器或软件包管理控制台来完成这项工作。

使用 NuGet 软件包管理器

  1. 右键单击解决方案资源管理器中的项目。

  2. 选择 "管理 NuGet 软件包..."

  3. 搜索 "IronZIP "并点击 "安装"。

    如何在C#中使用密码压缩文件:图3 - 使用NuGet包管理器安装IronZIP

使用软件包管理器控制台

  1. 打开软件包管理器控制台。

  2. 运行以下命令
    :ProductInstall

密码保护 Zip 文件的步骤

现在 IronZIP 已安装完毕,您可以使用该库对压缩文件进行密码保护。

导入所需程序库

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 goes here
    }
}
class Program
{
    static void Main()
    {
        // Code goes here
    }
}
Friend Class Program
	Shared Sub Main()
		' Code goes 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 对象在使用后被正确处理。 它创建了一个IronZipArchive的新实例,并使用最高压缩级别(9)。

对 ZIP 文件进行密码保护

以下单行代码为ZIPArchive存档文件添加密码保护

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()
    {
    string password = "P@ssw0rd";
    string filename = "./assets/file1.txt";
    string imagename = "./assets/image1.png";
        // Create an empty new ZIPArchive with the highest compression
        using (var archive = new IronZipArchive(9))
        {
            // Add Password to protect the ZIP (Support AES128 & AES256)
            archive.Encrypt(password, EncryptionMethods.Traditional);
            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()
    {
    string password = "P@ssw0rd";
    string filename = "./assets/file1.txt";
    string imagename = "./assets/image1.png";
        // Create an empty new ZIPArchive with the highest compression
        using (var archive = new IronZipArchive(9))
        {
            // Add Password to protect the ZIP (Support AES128 & AES256)
            archive.Encrypt(password, EncryptionMethods.Traditional);
            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()
	Dim password As String = "P@ssw0rd"
	Dim filename As String = "./assets/file1.txt"
	Dim imagename As String = "./assets/image1.png"
		' Create an empty new ZIPArchive with the highest compression
		Using archive = New IronZipArchive(9)
			' Add Password to protect the ZIP (Support AES128 & AES256)
			archive.Encrypt(password, EncryptionMethods.Traditional)
			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 的详细功能,包括兼容性、归档生成、编辑功能和简便的安装步骤。 该库支持传统和先进的加密方法,以保护文件不被篡改。 最后,我们介绍了在 Visual Studio 中创建 C# 控制台项目、安装 IronZIP 和对 ZIP 文件进行密码保护的步骤。

IronZIP 简化了在 C# 应用程序中处理 ZIP 文件的过程,为开发人员提供了强大的归档管理和安全工具集。 将 IronZIP 纳入您的项目,可以让您在处理 ZIP 存档中的敏感信息时加强数据保护。 有关IronZIP及其功能的更多详细信息,请访问官方文档页面。

IronZIP 提供 免费试用 以延长使用时间。 其Lite套餐从$749开始。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
如何在VB .NET中提取Zip文件
下一步 >
如何在C#中解压缩文件到目录

准备开始了吗? 版本: 2025.4 刚刚发布

查看许可证 >