Encriptar / desencriptar archivos en C#

Una forma rápida de encriptar archivos en .NET a partir de la versión 2.0


Encriptar / desencriptar archivos en C#

Desde la versión 2.0 del Framework de.NET existe una forma sencilla de encriptar y desencriptar archivos en C #.

Para ello simplemente tenemos que utilizar los métodos Encrypt y Decrypt de la clase File del espacio de nombres System.IO :

De hecho, los métodos son tan sencillos que lo único que tenemos que hacer es llamar a los métodos con el nombre de archivo que deseamos encriptar o desencriptar:

		File.Encrypt("C:\\temp\\test.txt");
		File.Decrypt("C:\\temp\\test.txt");
	

Una vez encriptado / desencriptado, el resultado queda en el mismo archivo pasado como parámetro (por supuesto, el archivo no puede estar en uso cuando llamemos a los métodos o nos devolverá una excepción).

Para la encriptación y desencriptación del archivo se utiliza el proveedor de servicios criptográficos del sistema operativo (CSP - Cryptographic Service Provider), por eso impone algunas restricciones:

  • El sistema de archivos debe estar formateado como NFTS.
  • El sistema operativo debe ser Windows NT o superior.
  • Puede que no funcione con las versiones más reducidas de Windows Vista o Windows 7 como Home o Basic.

Páginas relacionadas