InicioArticulos y noticiasBases de datosProgramaciónForosInternetServiciosContratacionEmail
También puedes ver ...
SubVersion y Visual Studio
TripleDES - Un ejemplo practico en C#
Insertar una marca de agua en documentos PDF
Serialización: XmlSerializer y BinaryFormater
Handler para manipular imagenes
Conversiones de tipos personalizadas (VB y C#)
Compresión por gzip y deflate
La página Web que está abriendo contiene tanto elementos seguros como no seguros.
Cómo insertar un fichero .xml en un campo de tipo XML de SQL server 2005 o 2008
Comparativa de sentencias VB.Net vs C#


Encriptación con AES Rijndael - Ejemplo

En devjoker ya hemos publicado algunos ejemplos de criptografía, pero nos faltaba un ejemplo con Advanced Encryption Standard (AES), también conocido como Rijndael. Se le considera el algoritmo de cifrado más seguro de la actualidad.

Aqui os dejo un ejemplo de la implementacion de este algoritmo es C#. Si ya habeis leido los articulos sobre TripleDES el código os resultará muy familiar, ya que la única variacion es el proveedor utilizado para la encriptacion - por este motivo no explicaremos el código, quien necesite una aclaración que revise el articulo anterior.

Este es el código:

 

using System;

using System.Collections.Generic;

using System.Text;

using System.Security.Cryptography;

using System.IO;

 

namespace AESSample{

 

class CriptoUtil

{

byte[] _key;

byte[] _iv;

 

public CriptoUtil()

{

_key =

Encoding.ASCII.GetBytes("12EstaClave34es56dificil489ssswf");

_iv =

Encoding.ASCII.GetBytes("Devjoker7.37hAES");

}

 

public string Encrit(string inputText)

{

byte[] inputBytes = Encoding.ASCII.GetBytes(inputText);

byte[] encripted;

RijndaelManaged cripto = new RijndaelManaged();

using (MemoryStream ms =

new MemoryStream(inputBytes.Length ))

{

using (CryptoStream objCryptoStream =

new CryptoStream(ms,

cripto.CreateEncryptor(_key, _iv),

CryptoStreamMode.Write))

{

objCryptoStream.Write(inputBytes, 0, inputBytes.Length);

objCryptoStream.FlushFinalBlock();

objCryptoStream.Close();

}

encripted = ms.ToArray();

}

return Convert.ToBase64String(encripted ) ;

}

 

public string Desencrit(string inputText)

{

byte[] inputBytes = Convert.FromBase64String(inputText);

byte[] resultBytes = new byte[inputBytes.Length];

string textoLimpio = String.Empty;

RijndaelManaged cripto = new RijndaelManaged();

using (MemoryStream ms = new MemoryStream(inputBytes ))

{

using (CryptoStream objCryptoStream =

new CryptoStream(ms, cripto.CreateDecryptor(_key, _iv),

CryptoStreamMode.Read ))

{

using (StreamReader sr =

new StreamReader(objCryptoStream, true))

{

textoLimpio = sr.ReadToEnd();

}

}

}

return textoLimpio;

}

} }

 Por supuesto si queremos que la implementacion sea realmente segura, debemos almacenar las claves de encritpacion (_key, _iv) de forma segura, y no "cinceladas" en el código.

Saludos, DJK

 

 


 Versión para imprimir  Foros de consulta

 
WWW.LOSA.COM por LOLA
Respuesta recibida el [14/06/2009 04:08:35]
POE FABOR ENTRE ENMI POGRAMA Y CON LOLA CONOSERAS EL MUNDO

 
_AES_ por Mihai Mosor
Respuesta recibida el [24/12/2009 08:35:28]
Muy buena aportación DJK ;). 
El algoritmo es muy bueno, los belgas fueron muy listos a la hora de crearlo. Se trata de una encriptación simetrica, de re+organización en una matriz, a base de una clave, las palabras que queramos encriptar.
Donde estoy, también lo utilizan, porque tiene mucha fama y es realmente fácil de utilizar . ;)
Gracias y un saludo,
Mihai.


Añadir comentario ... Para preguntar utiliza los foros
Autor:

Título:


Para preguntar utiliza los foros.



 Versión para imprimir

Encriptación con AES Rijndael - Ejemplo
Autor: Pedro Herrarte Sánchez
Visitas: 3176 Fecha de publicación: 24/12/2009
Pedro Herrarte, es consultor independiente, ofreciendo servicios de consultoría, análisis, desarrollo y formación.

Posee mas de diez años de experiencia trabajando para las principales empresas de España.

Es especialista en tecnologías .NET, entornos Web, bases de datos (SQL Server y ORACLE) e integración de sistemas.

Es experto en desarrollo (C#, ASP.NET, VB.Net, T-SQL, PL/SQL, , ASP, CGI , C, Pro*C, Java, Essbase, Vignette, PowerBuilder y Visual Basic ...) y bases de datos (SQL Server y ORACLE).

Es fundador, diseñador y programador de www.devjoker.com.




Visitas: 108 | Comentarios: 3 | Archivo: Articulos
02/02/2010 iPad vs Telesketch
Visitas: 809 | Comentarios: 2 | Archivo: Articulos
Categorias: Humor
Visitas: 764 | Comentarios: 3 | Archivo: Articulos
Visitas: 3176 | Comentarios: 2 | Archivo: Articulos
Categorias: C#
Visitas: 14560 | Comentarios: 7 | Archivo: Articulos
Categorias: C#|Seguridad
Visitas: 1494 | Comentarios: 3 | Archivo: Articulos
Visitas: 695 | Comentarios: 2 | Archivo: Articulos
Visitas: 369 | Comentarios: 0 | Archivo: Articulos
Visitas: 2034 | Comentarios: 2 | Archivo: Articulos
Categorias: C#

Útimos temas recibidos en los foros ...
certificado por jhon jairo vargas ... [Actualidad] 1 13/03/2010
devolver consulta en form builder de oracle con like por cesar10lb ... [ORACLE] 0 13/03/2010
certificado de cesantias horizonte por yeimmy ... [Actualidad] 4 13/03/2010
solicito certificado de pensiones y sesantias para laborar por maria eugenia garcia m. ... [Actualidad] 0 13/03/2010
certificado de fondos de pensiones horizonte por mona ... [Actualidad] 6 03/03/2010
certificado pensiones por nelly moreno ... [Actualidad] 0 13/03/2010
certificado de pensiones del bbva horizonte por danger ... [Actualidad] 125 12/01/2010
cerificado fondo horizonte de pensiones y cesantias por carlos fideligno torres herrera ... [Actualidad] 147 18/01/2010
certuficado de afiliacion a porvenir por ede ... [Actualidad] 6 05/02/2010
certificado pensiones horizonte por angela patricia rodriguez ... [Actualidad] 136 26/01/2010
Solicitud certificado de afiliaciones a pensiones y cesantias proteccion por hz ... [Actualidad] 59 10/02/2010
necesito certificado de afiliacíon a pensiones por jelo ... [Actualidad] 0 12/03/2010

Access CGI JSP ORACLE UNIX
Actualidad HTML/DHTML/XHTML LINUX PHP Visual Basic .NET
ASP ISAPI MS DOS Power Builder Visual Basic 6.0
ASP.NET Java mySQL SQL WIN 98/NT/2000/XP
C# JavaScript Opinion SQL Server

devjoker  Te recomendamos además ...
14/07/2006 Tablas PL/SQL    forma parte de...Tutorial PL/SQL
21/02/2007 Subconsultas    forma parte de...Tutorial SQL
22/10/2005 Insertar datos. INSERT    forma parte de...Tutorial SQL
22/10/2005 Indices    forma parte de...Tutorial SQL
22/10/2005 Vistas    forma parte de...Tutorial SQL
22/10/2005 Componentes del lenguaje SQL    forma parte de...Tutorial SQL
01/07/2008 LinQ To SQL - Un ejemplo sencillo
22/10/2005 Consultar datos. SELECT    forma parte de...Tutorial SQL
27/10/2006 Eventos    forma parte de...Tutorial C#
28/06/2006 Triggers en PL/SQL    forma parte de...Tutorial PL/SQL

 

Encuesta
¿A que perfil te adaptas mejor?




[Ver] [Votar]