使用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 网页

IronZIPZIP 是一个领先的 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
VB   C#

这些行将从 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
VB   C#

这是程序的主类,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
VB   C#

使用*语句可确保IronZipArchive对象在使用后得到正确处理。 它会以最高压缩级别创建一个IronZipArchive**的新实例(9).

对 ZIP 文件进行密码保护

以下一行代码添加了密码保护到 ZIPArchive 档案文件中:

archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

archive 对象上调用 Encrypt 方法可对 ZIP 文件进行密码保护。它需要两个参数:密码字符串("P@ssw0rd")和加密方法(*传统加密方法***).

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")
VB   C#

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

这些是需要添加的文件:

如何在 C# 中用密码压缩文件:图 4 - 在 ZIP 文件中保持已添加文件的外观

导出 ZIP 档案

archive.SaveAs("output.zip");
archive.SaveAs("output.zip");
archive.SaveAs("output.zip")
VB   C#

调用 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
VB   C#

输出

运行程序后,您的项目目录中将出现一个受密码保护的名为 "output.zip "的单一文件,其中包含指定的文件。

如何在 C# 中使用密码压缩文件:图 5 - 受密码保护的 ZIP 文件弹出窗口要求输入密码

结论

在本文中,我们探讨了密码保护 ZIP 文件的重要性,并介绍了 IronZIP 库作为在 C# 项目中处理 ZIP 存档的强大解决方案。 我们介绍了 IronZIP 的详细功能,包括兼容性、归档生成、编辑功能和简便的安装步骤。 该库支持传统和先进的加密方法,以保护文件不被篡改。 最后,我们介绍了在 Visual Studio 中创建 C# 控制台项目、安装 IronZIP 和对 ZIP 文件进行密码保护的步骤。

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

IronZIP 提供了一个免费试用适合长期使用。 其轻量版套餐起价为 $749。

< 前一页
如何在VB .NET中提取Zip文件
下一步 >
如何在C#中解压缩文件到目录

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

免费NuGet下载 总下载量: 5,404 查看许可证 >