在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加密算法,你可以根据需要选择其他加密算法。另外,确保适当地处理和保护加密密码,以确保数据的安全性。