2016-10-18 4 views
6

Ich verwende DotNetZip, um meine Dateien zu komprimieren, aber ich muss ein Passwort in ZIP festlegen.Legen Sie das Passwort für die Zip-Datei mit DotNetZip

Ich habe versucht:

public void Zip(string path, string outputPath) 
    { 
     using (ZipFile zip = new ZipFile()) 
     { 
      zip.AddDirectory(path); 
      zip.Password = "password"; 
      zip.Save(outputPath); 
     } 
    } 

Aber der Ausgang zip nicht ein Passwort.

Der Parameter path hat einen Unterordner für exemple: path = c:\path\ und inneren Weg I subfolder

haben, was falsch ist?

+0

nehmen Pfad C: \ Ordner1 \ folder2 \ file1.txt welchem ​​Ordner möchten Sie mit dem Passwort zip und sperren? –

+0

Nein, der Pfad ist ein Ordner und dieser Ordner hat einen Unterordner. Ich möchte den DotNetZip zip meinen Unterordner und die darin enthaltenen Dateien. Ich kann das tun, aber das Passwort funktioniert nicht. Ist das erste Mal, dass ich diese lib benutze. –

Antwort

11

Nur Einträge hinzugefügt nach die Password Eigenschaft wurde eingestellt wird das Passwort angewendet haben. Um das Verzeichnis, das Sie hinzufügen, zu schützen, stellen Sie einfach das Passwort ein, bevor Sie AddDirectory anrufen.

Beachten Sie, dass Passwörter auf ZIP-Dateien den Einträgen in der ZIP-Datei und nicht in der ZIP-Datei selbst zugeordnet sind. Auf diese Weise können Sie einige Ihrer Zip-Datei haben, geschützt und einige nicht:

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); 
} 
+0

Danke, das ist der Punkt. –

Verwandte Themen