inicio mail me! sindicaci;ón

Encriptar fácilmente contraseñas en Delphi 7

En este post veremos cómo encriptar una contraseña con el algoritmo MD5 o Message-Digest Algorithm 5, creado por el MIT y ampliamente difundido.

El MD5 es un algoritmo irreversible, es decir que no se puede volver al mensaje original a partir del producto de la encriptación. Por lo tanto es útil para encriptar información que no se necesita visualizar, como una contraseña en una base de datos.

Utilizaremos una unidad denominada md5 (unit md5). Se puede descargar el archivo comprimido dmmd5 de Torry.net, o haciendo clic aquí.

Descomprimir el archivo md5 y copiarlo en la carpeta del proyecto en el cual queremos trabajar.

Para usarlo deberemos incluirlo en el uses de la unidad en la cual hacemos la encriptación de la contraseña.

Algunas de las funciones del archivo md5.pas son:

MD5String(const S: string): TMD5Digest; Donde “const S” es la cadena a encriptar y TMD5Digest es el tipo de dato devuelto por esta función, que es un array[32] que contiene la cadena encriptada.

MD5DigestToStr(const Digest: TMD5Digest): string; Convierte un TMD5Digest en string.

MD5DigestCompare(const Digest1, Digest2: TMD5Digest): Boolean; Compara dos TMD5Digest y devuelve True en caso de que sean iguales, y falso en cualquier otro caso.

Por ejemplo, antes de guardar una contraseña en una base de datos deberíamos hacer los siguiente:

1º - Declarar

var

t : TMD5Digest;

contrasenya: String;

contrasenyaEncriptada: String;

2º - Encriptar

contrasenya:=’Esta es la constraseña’;

t:=MD5String(contrasenya);

3º - Convertir en string:

contrasenyaEncriptada:= MD5DigestToStr(t);

4º- Guardar en la base de datos. Tener en cuenta que contrasenyaEncriptada siempre es un string de 32 caracteres.

marcelo said,

August 31, 2007 @ 8:06 am

Excelente tu aporte. Me volvi loco buscando algo de encriptacion en delphi.
Te agradezco mucho de corazón y segui asi, marcelo , desde Argentina.
Un abrazo.

Fernando said,

September 19, 2007 @ 7:11 pm

Muy bueno lo que pusiste. Sinceramente es muy simple y funciona perfectamente.
Muchisimas gracias

rako said,

October 3, 2007 @ 10:35 am

mmm oye a mi no me funciona, yo me he puesto el .pas, lo llamo de l modo que tu dices pero en el metodo de encode del md5.pas peta ddando un rangeerror…porque puede ser eso? solo le dije que encriptara un string normal, muchas gracias

jose said,

November 1, 2007 @ 6:48 pm

gracias por la informacion me ayudo mucho gracias en verdad si puedes me agregas a tu msn necesito de tu ayuda para un par de cosas de delphi que no entiendo gracias

Ruperto Puente said,

January 29, 2008 @ 9:57 pm

excelente funciono muy bien, gracias

RSS feed for comments on this post · TrackBack URI

Leave a Comment