我的任务是使用 SevenZipSharp 库创建受密码保护的 ZIP。
我设法用密码锁定了文件内容,但是存档结构 - 文件名、目录层次结构可以在任何 WinZip、7-Zip 或 Compressed 文件夹中查看。
我用了,cmp.EncryptHeaders = true;
但是好像没什么效果...
如何加密文件和目录名称?谢谢。
static void Main(string[] args)
{
const string LibraryPath = @"C:\Program Files\7-Zip\7z.dll";
SevenZipCompressor.SetLibraryPath(LibraryPath);
var cmp = new SevenZipCompressor();
cmp.CompressionMethod = CompressionMethod.Default;
cmp.CompressionLevel = CompressionLevel.Fast;
cmp.ArchiveFormat = OutArchiveFormat.Zip; // compatible with WinZip and Compressed folder
cmp.ZipEncryptionMethod = ZipEncryptionMethod.ZipCrypto; // compatible with old WinZip
cmp.EncryptHeaders = true;
cmp.FileCompressionStarted += (sender, e) =>
{
Console.WriteLine(((FileNameEventArgs)e).FileName);
};
const string archive = @"C:\temp\12.3G.zip";
File.Delete(archive);
cmp.CompressDirectory(@"C:\temp\Photos", archive, "password");
}