
La encriptación en el área de seguridad es muy importante, y más aún en una aplicación a la hora de guardar contraseñas en una base de datos.
Aquí les dejo un proyecto con el cuál podemos encriptar y desencriptar texto con la ayuda de algunas clases que se encuentran en .NET, me basé en ésta página Using System.Linkecubeko
Para comenzar utilizaremos los siguientes espacios de nombres:
using System.Text; using System.Security.Cryptography;
Y con las siguientes clases:
MD5CryptoServiceProvider (Clase)
Calcula el valor de hash MD5 (Message-Digest Algorithm 5), de los datos de entrada utilizando la implementación proporcionada por el proveedor de servicios criptográfico (CSP). Esta clase no se puede heredar.
UTF8Encoding (Clase)
Representa una codificación UTF-8 de caracteres Unicode.
TripleDESCryptoServiceProvider (Clase)
Define un objeto contenedor para obtener acceso a la versión del proveedor de servicios criptográficos (CSP) del algoritmo TripleDES (algoritmo que hace triple cifrado del algoritmo Data Encryption Standard) No se puede heredar esta clase.
CipherMode (Enumeración)
Especifica el modo de cifrado de bloques que se utilizará para cifrar.
PaddingMode (Enumeración)
Especifica el tipo de relleno que se aplica cuando el bloque de datos del mensaje es más pequeño que el número total de bytes necesarios para una operación criptográfica.
ICryptoTransform (Interfaz)
Define las operaciones básicas de las transformaciones criptográficas.
Gracias al proyecto mono, podemos crear esta clase y liberarla bajo la licencia GPL.
Aquí les dejo la clase cifrado ya codificada: cifrado.cs
Para comenzar, creamos un proyecto nuevo C# con Gtk# en Monodevelop y creamos una forma más ó menos como ésta:

Para facilitar mejor las cosas he creado una dll con las clases para encriptar y desencriptar, primero nos descargamos la dll: criptologia.dll, luego la agregamos como referencia a nuestro proyecto dando click derecho en Referencias y luego Editar preferencias… .:

Ahora en el evento Click del Botón que dice encriptar, ponemos lo siguiente:
criptologia.Cifrado oCifrado = new criptologia.Cifrado(); entry2.Text = oCifrado.Encriptar(entry1.Text);
Y en el evento Click del Botón desencriptar, ponemos:
criptologia.Cifrado oCifrado = new criptologia.Cifrado(); entry3.Text = oCifrado.Desencriptar(entry2.Text);
Aquí les dejo el proyecto terminado: encriptacion.zip.
Conclusión:
Con ésto podemos agregar mayor seguridad en nuestros aplicaciónes ó sistemas, gracias a mono nuestra DLL es libre y se puede utilizar con cualquier propósito, estudiar, modificar y redistribuir.
July 15, 2009 | Etiquetado en: c#, Linux, Mono, Programación, Seguridad, software libre | 2 Comments Nuestros amigos de la comunidad de dragonjar, hizo una pequeña entrevista a kevin mitnick, uno de los hackers más famosos, aquí les dejo el video:
Todos los derechos reservados. Tecnologia.