Cómo encriptar y desencriptar en C#

En este post vamos a ver un método muy simple para codificar y decodificar datos en C#. No es una encriptación propiamente dicha, pero en la mayoría de los casos nos puede servir y en realidad con esto habríamos conseguido ocultar información a posibles “miradas indiscretas”.

C-sharp

Como digo no es el sistema que yo seguiría para encriptar claves o datos muy comprometidos, pero sí es un buen sistema y rápido sistema para ocultar información.

Por ejemplo si trabajamos con una base de datos Access, la seguridad que podemos imponer es mínima. Casi siempre estas bases de datos están abiertas y cualquiera puede entrar y revisar las tablas.

Cloud_Computing Fundamentos_C_plus Fundamentos_C_sharp Fundamentos_javascript

Hay datos desde nombres, DNIs, cuentas bancarias, que se guardan tal cual en las tablas normalmente.

Pues mi propuesta es codificar esa información y entonces guardarla. Posteriormente cuando leamos los datos los decodificaremos antes de mostrarlos de nuevo en pantalla. Así pues solo nuestra aplicación podrá interpretar esos datos.

En .NET es muy simple realizar estas operaciones. Dejo unas clases que nos pueden permitir realizar estas operaciones en C# de un modo muy sencillo.

/// Esta clase contiene funciones para encriptar/desencriptar
/// El ser estática no es necesario instanciar un objeto para 
/// usar las funciones Encriptar y DesEncriptar
 
public static class Seguridad
{
 
/// Encripta una cadena
public static string Encriptar(this string _cadenaAencriptar)
{
string result = string.Empty;
byte[] encryted = System.Text.Encoding.Unicode.GetBytes(_cadenaAencriptar);
result = Convert.ToBase64String(encryted);
return result;
}
 
/// Esta función desencripta la cadena que le envíamos en el parámentro de entrada.
public static string DesEncriptar(this string _cadenaAdesencriptar)
{
string result = string.Empty;
byte[] decryted = Convert.FromBase64String(_cadenaAdesencriptar);
//result = System.Text.Encoding.Unicode.GetString(decryted, 0, decryted.ToArray().Length);
result = System.Text.Encoding.Unicode.GetString(decryted);
return result;
}
}

En esta clase como se puede ver hay dos métodos uno que permite encriptar/codificar una cadena y otro que permite desencriptar/decodificar la cadena.

Con estas operaciones tan simples no es concebible ya que dejemos abiertos datos que no deseamos sean vistos por terceros.

 

Deja un comentario.

Tu dirección de correo no será publicada.


*