Salut à tous.

J'utilise la librairie ICSharpCode.SharpZipLib.Zip pour protéger avec un mot de passe et compresser un dossier en .zip, mais quand j’essaie de l'ouvrir après compression soit avec Winrar, soit avec 7zip
je reçois le message suivant "Mot de Passe incorrect".

voici un exemple du code que j'utilise pour effectué la compression protégé avec un mot de passe.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public static void compression(string DirectoryToZip, string TheZipFile)
        {
            int i; // index des fichiers de filestozip()
            int mylength; // longueur fichier
 
            // recupère le nom complet de tous les fichiers dans filestozip()
            string[] filestozip = Directory.GetFiles(DirectoryToZip, "*.*", SearchOption.AllDirectories);
 
            // mydirname : nom de la directory a compresser
            string mydirname = new DirectoryInfo(DirectoryToZip).Name;
 
            // on cree la sortie zip
            ZipOutputStream ZipStream = new ZipOutputStream(System.IO.File.Create(TheZipFile));
 
                string Password = @"a";
                if (!String.IsNullOrEmpty(Password))
                    ZipStream.Password = Password;
 
                // on fait le boulot pour tous les fichiers
                for (i = 0; i <= Information.UBound(filestozip); i++)
                {
                    // on ouvre le fichier en lecture
                    FileStream fs = System.IO.File.OpenRead(filestozip[i]);
                    mylength = (int)fs.Length;
 
                    // Tableau de byte, de la taille du fichier à lire
                    byte[] buffer = new byte[mylength + 1];
 
                    // Lecture du fichier dans buffer puis fermeture
                    fs.Read(buffer, 0, mylength);
                    fs.Close();
 
                    // definition de l'entrée dans le zip
                    ZipEntry entry = new ZipEntry(mydirname + filestozip[i].Replace(DirectoryToZip, ""));
 
                    // On ajoute la nouvelle entrée
                    ZipStream.PutNextEntry(entry);
 
                    // On crée la nouvelle entrée dans l'archive
                    ZipStream.Write(buffer, 0, mylength);
                }
 
                // On ferme le flux
                ZipStream.Finish();
                ZipStream.Close();
        }
Pourquoi le mot de passe n'est pas reconnu lors de l'ouverture avec des logiciels d'archivage ?