在C#中压缩ZIP文件并加密可以使用ZipFile
类和ZipArchiveEntry
类。以下是一个示例代码,演示如何压缩并加密ZIP文件:
using System;
using System.IO;
using System.IO.Compression;
class Program
{
static void Main()
{
string sourceDirectory = @"C:\SourceFolder";
string zipFile = @"C:\Archive.zip";
string password = "MyPassword";
ZipFile.CreateFromDirectory(sourceDirectory, zipFile, CompressionLevel.Fastest, false);
using (FileStream zipStream = new FileStream(zipFile, FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipStream, ZipArchiveMode.Update))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
entry.AesKeySize = 256;
entry.AesKeySize = 256;
entry.Password = password;
}
}
}
Console.WriteLine("ZIP file created and encrypted successfully.");
}
}
在上面的示例中,首先指定源文件夹和要创建的ZIP文件的路径,以及用于加密的密码。然后使用ZipFile.CreateFromDirectory
方法将源文件夹中的文件压缩到指定的ZIP文件中。接着使用ZipArchive
类打开创建的ZIP文件,并为每个条目设置256位AES加密密钥和密码。
请注意,以上示例使用了256位AES加密算法,你可以根据需要选择其他加密算法。另外,确保适当地处理和保护加密密码,以确保数据的安全性。