none
Descomprimir con password RRS feed

  • Pregunta

  • Buenos Dias.

    Quisiera saber como poder descomprimir con password usando la liberia System.IO.Compression o Ionic.Zip.

    Aqui dejo mi codigo como yo descomprimo sin una contraseña.

    void Descomprimir(string rutaDirectorio)
            {
                try
                {
                    if (File.Exists(rutaDirectorio))
                    {
                        //moverHistorico(rutaDirectorio);
                        string Extraer = @"D:\PruebasDescomprimir2\Descomprimido";
                        ZipFile.ExtractToDirectory(rutaDirectorio, Extraer);
                        MessageBox.Show("Se ha descomprimido correctamente :D !");

                        buscarTXT(Extraer);

                        if (Directory.Exists(Extraer))
                        {
                            try
                            {
                                Directory.Delete(Extraer, true);
                            }

                            catch (IOException)
                            {
                                MessageBox.Show("No se encontro la carpeta", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                        }
                    }
                }
                catch (Exception)
                {
                    MessageBox.Show("No se encontro el archivo", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }

    Espero su ayuda Gracias.

    martes, 27 de febrero de 2018 15:29

Todas las respuestas

  • Me temo que con la librería System.IO.Compression no se puede hacer.

    Con Ionic.Zip sí. Aquí tienes un ejemplo de cómo hacerlo:

    string zipFile = @"C:\Users\Fesslersoft\Desktop\ZipTest\Test.zip";
    string targetDirectory = @"C:\Users\Fesslersoft\Desktop\ZipTest\";
     
    using (Ionic.Zip.ZipFile zip = Ionic.Zip.ZipFile.Read(zipFile))
    {
    	zip.Password = "1234";
    	zip.ExtractAll(targetDirectory, Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite);
    }

    Este ejemplo está sacado de:

    How to extract a password protected zip file using DotNetZip in C# and VB.NET

    Es posible que tengas que cambiar también el valor de la propiedad Encryption en función del algoritmo de encriptación utilizado en la compresión.


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    martes, 27 de febrero de 2018 21:53