
Cómo comprimir archivo en C# con contraseña
Los archivos ZIP se utilizan ampliamente para comprimir y archivar datos, facilitando la transferencia y almacenamiento de grandes conjuntos de archivos. Sin embargo, existen escenarios donde la seguridad adicional es esencial, lo que lleva a la importancia de los archivos zip protegidos con contraseña. La protección por contraseña garantiza que solo las personas autorizadas puedan acceder y extraer el contenido del archivo ZIP, agregando una capa adicional de seguridad a los datos sensibles.
En este artículo, exploraremos cómo crear un archivo ZIP protegido con contraseña usando C# y la biblioteca 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 de C# con protección por contraseña
- Crea un proyecto C# en Visual Studio
- Instale la biblioteca IronZIP desde el Administrador de Paquetes NuGet
- Crear un objeto de archivo ZIP vacío utilizando la clase
IronZipArchive - Añadir protección con contraseña utilizando el método
Encrypt - Añadir archivos al objeto de archivo utilizando el método
Add - Exporta el archivo ZIP utilizando el método
SaveAs
Introducción a la biblioteca IronZIP

IronZIP es una biblioteca líder de archivos ZIP en C# diseñada para crear, leer y extraer archivos en .NET. Ofrece una API fácil de usar que permite a los desarrolladores incorporar fácilmente funcionalidades de gestión de archivos en sus proyectos .NET. Con soporte para varios formatos de archivos, incluidos ZIP, TAR, GZIP y BZIP2, IronZIP proporciona una solución integral para manejar archivos zip con facilidad.
Características detalladas de IronZIP
Compatibilidad
- Soporta .NET 8, 7, 6, 5, Core, Standard y Framework.
- Compatible con los lenguajes C#, VB.NET y F#.
- Soporte multiplataforma para Windows, Linux, Mac, iOS, Android, Docker, Azure y AWS.
- Integración con IDEs populares como Microsoft Visual Studio y JetBrains ReSharper & Rider.
Generación y edición de archivos
- Soporta formatos de archivo ZIP, TAR, GZIP y BZIP2.
- Crear, importar y exportar archivos ZIP.
- Protección por contraseña para archivos ZIP usando configuraciones de cifrado tradicionales, AES128 o AES256.
- Compresión personalizada con 9 niveles. Proporciona la mejor reducción de tamaño.
- Gestione entradas de archivo dentro de los archivos, incluyendo añadir, extraer y eliminar.
Instalación
- Instalación rápida y fácil a través del Administrador de Paquetes NuGet o la Consola del Administrador de Paquetes.
- Integración con binarios firmados por DigiCert para una certificación binaria segura.
Pasos para crear un proyecto de consola de C# en Visual Studio
Vamos a recorrer los pasos para crear un proyecto de consola en C# en Visual Studio y usar IronZIP para proteger con contraseña un archivo zip.
-
Abre Visual Studio.
-
Cree un nuevo proyecto de aplicación de consola en C#.
-
Asignar un nombre a su proyecto y elegir una ubicación.

-
Desde Información adicional, seleccione la última versión del .NET Framework. IronZIP es compatible con el último Framework .NET 8.0.
-
Haga clic en "Crear" para generar el proyecto.
Instalación de IronZIP
Para usar IronZIP en su proyecto, necesita instalar la biblioteca. Puede hacer esto usando el Administrador de Paquetes NuGet o la Consola del Administrador de Paquetes.
Uso del Administrador de paquetes NuGet
- Haz clic derecho en tu proyecto en el Explorador de Soluciones.
- Seleccione "Gestionar paquetes NuGet..."
- Busque "IronZIP" y haga clic en "Instalar".

Uso de la consola del administrador de paquetes
-
Abra la Consola del Administrador de Paquetes.
-
Ejecute el siguiente comando:
Pasos para proteger con contraseña un archivo Zip
Ahora que IronZIP está instalado, puede proceder a proteger con contraseña un archivo zip usando la biblioteca.
Importación de las bibliotecas necesarias
using IronZip;
using IronZip.Enum;Imports IronZip
Imports IronZip.EnumEstas líneas importan los espacios de nombres necesarios de la biblioteca IronZIP: IronZip contiene las clases y funcionalidades principales, mientras que IronZip.Enum incluye las enumeraciones utilizadas en la biblioteca.
Clase del programa principal
class Program
{
static void Main()
{
// Code execution starts here
}
}Friend Class Program
Shared Sub Main()
' Code execution starts here
End Sub
End ClassEsta 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 archive = New IronZipArchive(9)
' Code within the 'using' block
End UsingLa instrucción using garantiza que el objeto IronZipArchive se elimine correctamente tras su uso. Crea una nueva instancia de IronZipArchive con el nivel de compresión más alto (9).
Protección con contraseña del archivo ZIP
La siguiente única línea de código añade protección por contraseña al archivo ZIP:
archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional);archive.Encrypt("P@ssw0rd", EncryptionMethods.Traditional)El método Encrypt se invoca sobre 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 (EncryptionMethods.Traditional).
IronZIP también proporciona protección avanzada con contraseña AES128 y AES256, que es más segura y previene la manipulación de los archivos ZIP.
Agregar archivos al archivo ZIP
archive.Add("./assets/file1.txt");
archive.Add("./assets/image1.png");archive.Add("./assets/file1.txt")
archive.Add("./assets/image1.png")El método Add se utiliza para añadir archivos al archivo ZIP. En este ejemplo, se añaden al archivo un archivo de texto y un archivo de imagen (file1.txt y image1.png) ubicados en el directorio "./assets/".
Estos son los archivos que se añadirán:

Exportar el archivo ZIP
archive.SaveAs("output.zip");archive.SaveAs("output.zip")Se invoca el método SaveAs para exportar el archivo ZIP. Especifica el nombre del archivo de salida como "output.zip". Esto crea el archivo ZIP protegido con contraseña con el contenido y contraseña especificados.
Visite la página de ejemplos de código para aprender más sobre cómo crear, leer, extraer y realizar otras operaciones relacionadas con archivos ZIP en C# usando IronZIP.
Aquí está el código fuente completo con rutas de cadena separadas y una propiedad de contraseña para un mejor control:
using IronZip;
using IronZip.Enum;
class Program
{
static void Main()
{
// Define password and file paths for the ZIP archive
string password = "P@ssw0rd";
string filename = "./assets/file1.txt";
string imagename = "./assets/image1.png";
// Create a new ZIPArchive with the highest compression level
using (var archive = new IronZipArchive(9))
{
// Add Password to protect the ZIP (Support AES128 & AES256)
archive.Encrypt(password, EncryptionMethods.Traditional);
// Add files to the archive
archive.Add(filename);
archive.Add(imagename);
// Export the Encrypted ZIP file archive
archive.SaveAs("output.zip");
}
}
}Imports IronZip
Imports IronZip.Enum
Module Program
Sub Main()
' Define password and file paths for the ZIP archive
Dim password As String = "P@ssw0rd"
Dim filename As String = "./assets/file1.txt"
Dim imagename As String = "./assets/image1.png"
' Create a new ZIPArchive with the highest compression level
Using archive As New IronZipArchive(9)
' Add Password to protect the ZIP (Support AES128 & AES256)
archive.Encrypt(password, EncryptionMethods.Traditional)
' Add files to the archive
archive.Add(filename)
archive.Add(imagename)
' Export the Encrypted ZIP file archive
archive.SaveAs("output.zip")
End Using
End Sub
End ModuleProducción
Después de ejecutar el programa, tendrá un archivo individual protegido con contraseña denominado "output.zip" en su directorio de proyecto, que contiene los archivos especificados.

Conclusión
En este artículo, exploramos la importancia de los archivos ZIP protegidos con contraseña y presentamos la biblioteca IronZIP como una solución potente 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 pasos de instalación fáciles. La biblioteca soporta métodos de cifrado tradicionales y avanzados para proteger los archivos de la manipulación. Finalmente, repasamos los pasos para crear un proyecto de consola en 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 conjunto de herramientas robusto para la gestión y seguridad de archivos. Incorporar IronZIP en sus proyectos le permite mejorar la protección de datos al manejar información sensible en archivos ZIP. Para obtener más información detallada sobre IronZIP y sus capacidades, por favor visite la página oficial de documentación.
IronZIP ofrece una prueba gratuita para un uso prolongado. Su paquete Lite parte de $999.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.
Artículos Relacionados


