USO DE IRONZIP

Cómo comprimir archivos en C# con contraseña

Publicado en 6 de marzo, 2024
Compartir:

Los archivos ZIP se utilizan ampliamente para comprimir y archivar datos, lo que facilita la transferencia y el almacenamiento de grandes conjuntos de archivos. Sin embargo, hay situaciones en las que es esencial una seguridad adicional, de ahí la importancia de los archivos zip protegidos con contraseña. Protección por contraseña garantiza que sólo las personas autorizadas puedan acceder al contenido del archivo ZIP y extraerlo, lo que añade una capa adicional de seguridad a los datos confidenciales.

En este artículo, exploraremos cómo crear un archivo ZIP protegido por contraseña utilizando C# y la librería IronZIP. IronZIP es una potente biblioteca de archivos ZIP en C# que simplifica el proceso de trabajar con archivos ZIP en aplicaciones .NET.

Cómo crear un archivo ZIP (C#) con protección por contraseña

  1. Crear un proyecto C# en Visual Studio

  2. Instalación de la biblioteca IronZIP desde el gestor de paquetes NuGet

  3. Crear un objeto de archivo ZIP vacío utilizando la clase IronZipArchive.

  4. Añadir protección por contraseña mediante el método Encrypt

  5. Añadir ficheros al objeto de archivo mediante el método Add

  6. Exportar el archivo ZIP utilizando el método SaveAs.

Introducción a la biblioteca IronZIP

Cómo comprimir archivos en C# con contraseña: Figura 1 - Página web de IronZIP

IronZIP es una biblioteca de archivos ZIP líder en C# diseñada para crear, leer y extraer archivos comprimidos en .NET. Ofrece una API fácil de usar que permite a los desarrolladores incorporar fácilmente funciones de gestión de archivos a sus proyectos .NET. Con soporte para varios formatos de archivo, incluyendo ZIP, TAR, GZIP y BZIP2, IronZIP proporciona una solución completa para manejar archivos zip con facilidad.

Características detalladas de IronZIP

Compatibilidad

  • Compatible con .NET 8, 7, 6, 5, Core, Standard y Framework.
  • Compatible con los lenguajes C#, VB.NET y F#.
  • Compatibilidad multiplataforma con Windows, Linux, Mac, iOS, Android, Docker, Azure y AWS.
  • Integración con IDE populares como Microsoft Visual Studio y JetBrains ReSharper & Rider.

Generación y edición de archivos

  • Admite los formatos de archivo ZIP, TAR, GZIP y BZIP2.
  • Crea, importa y exporta archivos ZIP.
  • Protección por contraseña de archivos ZIP mediante cifrado tradicional, AES128 o AES256.
  • Compresión personalizada con 9 niveles. Proporciona la mejor reducción de tamaño.
  • Gestionar las entradas de archivos dentro de los archivos, incluyendo la adición, extracción y eliminación.

Instalación

  • Instalación rápida y sencilla a través de NuGet Package Manager o Package Manager Console.
  • Integración con DigiCert Signed Binaries para una certificación binaria segura.

Pasos para crear un proyecto de consola C&num en Visual Studio

Veamos los pasos para crear un proyecto de consola C# en Visual Studio y utilizar IronZIP para proteger con contraseña un archivo zip.

  1. Abre Visual Studio.

  2. Cree un nuevo proyecto de Aplicación de Consola C#.

  3. Nombra tu proyecto y elige una ubicación.

    Cómo comprimir archivos en C# con contraseña: Figura 2 - Configuración del nombre y ubicación del proyecto

  4. En Información adicional, seleccione la última versión de .NET Framework. IronZIP es compatible con la última versión 8.0 de .NET Framework.

  5. Haga clic en "Crear" para generar el proyecto.

Instalación de IronZIP

Para utilizar IronZIP en su proyecto, debe instalar la biblioteca. Puede hacerlo utilizando el gestor de paquetes NuGet o la consola del gestor de paquetes.

Uso del gestor de paquetes NuGet

  1. Haga clic con el botón derecho en su proyecto en el Explorador de soluciones.

  2. Seleccione "Gestionar paquetes NuGet...".

  3. Busca "IronZip" y haz clic en "Instalar".

    Cómo comprimir archivos en C# con contraseña: Figura 3 - Instalación de IronZIP con el Gestor de Paquetes NuGet

Uso de la consola del gestor de paquetes

  1. Abra la consola del gestor de paquetes.

  2. Ejecute el siguiente comando:
    :ProductInstall

Pasos para proteger con contraseña un archivo Zip

Ahora que IronZIP está instalado, puede proceder a proteger con contraseña un archivo zip utilizando la biblioteca.

Importación de bibliotecas necesarias

using IronZip;
using IronZip.Enum;
using IronZip;
using IronZip.Enum;
Imports IronZip
Imports IronZip.Enum
VB   C#

Estas líneas importan los espacios de nombres necesarios de la biblioteca IronZIP. IronZIP contiene las clases principales y la funcionalidad, mientras que IronZip.Enum incluye los enums utilizados en la librería.

Clase principal del programa

class Program
{
    static void Main()
    {
        // Code goes here
    }
}
class Program
{
    static void Main()
    {
        // Code goes here
    }
}
Friend Class Program
	Shared Sub Main()
		' Code goes here
	End Sub
End Class
VB   C#

Esta es la clase principal del programa con el método Main donde comienza la ejecución del código.

Creación de un archivo ZIP vacío

using (var archive = new IronZipArchive(9)) 
{ 
     // Code within the 'using' block 
}
using (var archive = new IronZipArchive(9)) 
{ 
     // Code within the 'using' block 
}
Using archive = New IronZipArchive(9)
	 ' Code within the 'using' block 
End Using
VB   C#

La sentencia using garantiza que el objeto IronZipArchive se elimine correctamente después de su uso. Crea una nueva instancia de IronZipArchive con el nivel de compresión más alto.(9).

Proteger el archivo ZIP con contraseña

La siguiente línea de código añadeprotección por contraseña al archivo ZIPArchive:

archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

El método Encrypt se ejecuta en el objeto archive para proteger con contraseña el archivo ZIP. Toma dos parámetros: la cadena de contraseña("P@ssw0rd") y el método de cifrado(MétodosDeEncriptación.Tradicionales).

IronZIP también proporciona protección por contraseña avanzada AES128 y AES256 que no es fácil de romper y evita la manipulación de archivos ZIP.

Añadir ficheros al archivo ZIP

archive.Add("./assets/file1.txt"); archive.Add("./assets/image1.png");
archive.Add("./assets/file1.txt"); archive.Add("./assets/image1.png");
archive.Add("./assets/file1.txt")
archive.Add("./assets/image1.png")
VB   C#

El método Add se utiliza para añadir ficheros al archivo ZIP. En este ejemplo, un archivo de texto y un archivo de imagen(archivo1.txt e imagen1.png) situados en el directorio "./assets/" se añaden al archivo.

Estos son los archivos que hay que añadir:

Cómo comprimir archivos en C# con contraseña: Figura 4 - Mantener el aspecto de los archivos añadidos en el archivo ZIP

Exportar el archivo ZIP

archive.SaveAs("output.zip");
archive.SaveAs("output.zip");
archive.SaveAs("output.zip")
VB   C#

Se llama al método SaveAs para exportar el archivo ZIP. Especifica el nombre del archivo de salida como "output.zip". Esto crea el archivo ZIP protegido por contraseña con el contenido y la contraseña especificados.

Visite elejemplos de código para saber más sobre cómocrear, leer, extraer, y realizar otras operaciones relacionadas con archivos ZIP en C# utilizando IronZIP.

Aquí está el código fuente completo con la ruta de cadena separada a los archivos y la propiedad de contraseña para un mejor control:

using IronZip;
using IronZip.Enum;
class Program
{
    static void Main()
    {
    string password = "P@ssw0rd";
    string filename = "./assets/file1.txt";
    string imagename = "./assets/image1.png";
        // Create an empty new ZIPArchive with the highest compression
        using (var archive = new IronZipArchive(9))
        {
            // Add Password to protect the ZIP (Support AES128 & AES256)
            archive.Encrypt(password, EncryptionMethods.Traditional);
            archive.Add(filename);
            archive.Add(imagename);
            // Export the Encrypted ZIP file archive
            archive.SaveAs("output.zip");
        }
    }
}
using IronZip;
using IronZip.Enum;
class Program
{
    static void Main()
    {
    string password = "P@ssw0rd";
    string filename = "./assets/file1.txt";
    string imagename = "./assets/image1.png";
        // Create an empty new ZIPArchive with the highest compression
        using (var archive = new IronZipArchive(9))
        {
            // Add Password to protect the ZIP (Support AES128 & AES256)
            archive.Encrypt(password, EncryptionMethods.Traditional);
            archive.Add(filename);
            archive.Add(imagename);
            // Export the Encrypted ZIP file archive
            archive.SaveAs("output.zip");
        }
    }
}
Imports IronZip
Imports IronZip.Enum
Friend Class Program
	Shared Sub Main()
	Dim password As String = "P@ssw0rd"
	Dim filename As String = "./assets/file1.txt"
	Dim imagename As String = "./assets/image1.png"
		' Create an empty new ZIPArchive with the highest compression
		Using archive = New IronZipArchive(9)
			' Add Password to protect the ZIP (Support AES128 & AES256)
			archive.Encrypt(password, EncryptionMethods.Traditional)
			archive.Add(filename)
			archive.Add(imagename)
			' Export the Encrypted ZIP file archive
			archive.SaveAs("output.zip")
		End Using
	End Sub
End Class
VB   C#

Salida

Después de ejecutar el programa, tendrá un único archivo protegido por contraseña llamado "output.zip" en el directorio de su proyecto, que contiene los archivos especificados.

Cómo comprimir archivos en C# con contraseña: Figura 5 - Ventana emergente de archivo ZIP protegido con contraseña pidiendo una contraseña

Conclusión

En este artículo, exploramos la importancia de los archivos ZIP protegidos por contraseña y presentamos la librería IronZIP como una potente solución para manejar archivos ZIP en proyectos C#. Cubrimos las características detalladas de IronZIP, incluyendo compatibilidad, generación de archivos, capacidades de edición y sencillos pasos de instalación. La biblioteca admite métodos de cifrado tradicionales y avanzados para proteger los archivos de la manipulación. Por último, repasamos los pasos para crear un proyecto de consola C# en Visual Studio, instalar IronZIP y proteger con contraseña un archivo ZIP.

IronZIP simplifica el proceso de trabajar con archivos ZIP en aplicaciones C#, proporcionando a los desarrolladores un sólido conjunto de herramientas para la gestión y seguridad de archivos. La incorporación de IronZIP a sus proyectos le permite mejorar la protección de datos cuando maneja información sensible en archivos ZIP. Para obtener información más detallada sobre IronZIP y sus funciones, visite la página oficial dedocumentación página.

IronZIP ofrece un**Prueba gratuita para un uso prolongado. Su paquete lite parte de $749.

< ANTERIOR
Cómo extraer archivos Zip en VB .NET
SIGUIENTE >
Cómo descomprimir un archivo en un directorio en C#

¿Listo para empezar? Versión: 2024.11 acaba de salir

Descarga gratuita de NuGet Descargas totales: 5,522 Ver licencias >