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.
