使用DotNetZip在Zip文件上设置密码
我正在使用DotNetZip来压缩我的文件,但我需要在zip中设置密码。
我试过:
public void Zip(string path, string outputPath) { using (ZipFile zip = new ZipFile()) { zip.AddDirectory(path); zip.Password = "password"; zip.Save(outputPath); } }
但输出zip没有密码。
参数path
有一个例子的子文件夹: path = c:\path\
和内部路径我有subfolder
怎么了?
只有在设置了Password
属性后添加的条目才会应用密码。 要保护要添加的目录,只需在调用AddDirectory
之前设置密码。
using (ZipFile zip = new ZipFile()) { zip.Password = "password"; zip.AddDirectory(path); zip.Save(outputPath); }
请注意,这是因为Zip文件上的密码分配给zip文件中的条目,而不是zip文件本身。 这允许您保护您的一些zip文件,而不是:
using (ZipFile zip = new ZipFile()) { //this won't be password protected zip.AddDirectory(unprotectedPath); zip.Password = "password"; //...but this will be password protected zip.AddDirectory(path); zip.Save(outputPath); }