#c# #.net #zip #dotnetzip
#c# #.net #zip #dotnetzip
Вопрос:
Я начал с шифрования zip, и требуется защита файлов паролем. т. Е. Всякий раз, когда мы пытаемся разархивировать zip-файл, он должен запрашивать пароль. Ниже приведен код, который я использую.
using Ionic.Zip;
public static void ZipFilesWithPassword(string DirectoryToZip, string ZipFileToCreate)
{
using (ZipFile zip = new ZipFile())
{
zip.Password = "pwd12345";
String[] filenames = System.IO.Directory.GetFiles(DirectoryToZip);
foreach (String filename in filenames)
{
ZipEntry e = zip.AddFile(filename, "");
e.Password = "pwd12345";
}
zip.Save(ZipFileToCreate);
}
}
Кажется, это работает, но не каждый раз. Когда я пытаюсь разархивировать zip-файл вручную, используя «Извлечь все …» .. в первый раз, он запрашивает пароль. Но если я удалю извлеченную папку и попытаюсь снова разархивировать, пароль не запрашивается. Но в том же случае, используя 7-Zip, если я пытаюсь извлечь zip, он каждый раз запрашивает пароль.
Мой вопрос..
Является ли это поведением по умолчанию Ionic.zip ? Можем ли мы настроить из кода запрос пароля при каждом распаковывании?
Комментарии:
1. Я считаю, что это поведение Windows, а не сам zip-файл: superuser.com/questions/1089915 /…
2. О, интересно! Я этого не ожидал! Спасибо! Но я не смог найти никакого решения, чтобы заставить Windows не запоминать пароль! Из приведенной вами ссылки запуск cmdkey для удаления пароля не соответствует моим требованиям.