在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加密算法,你可以根據需要選擇其他加密算法。另外,確保適當地處理和保護加密密碼,以確保數據的安全性。