Использование Ionic.Zip dll, защищенный паролем zip не запрашивает пароль во второй раз c#

#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 для удаления пароля не соответствует моим требованиям.