Calcular el hash MD5 para un archivo o cadena con Delphi

El algoritmo MD5 Message-Digest es una función criptográfica hash. MD5 se usa comúnmente para verificar la integridad de los archivos, como para asegurarse de que un archivo no haya sido modificado.

Un ejemplo de esto es cuando descarga un programa en línea. Si el distribuidor de software entrega el hash MD5 del archivo, puede producir el hash usando Delphi y luego comparar los dos valores para asegurarse de que sean iguales. Si son diferentes, significa que el archivo que descargó no es el que solicitó del sitio web y, por lo tanto, puede ser malicioso.

Un valor hash MD5 tiene una longitud de 128 bits, pero generalmente se lee en su valor hexadecimal de 32 dígitos.

Encontrar el hash MD5 usando Delphi

Con Delphi, puede crear fácilmente una función para calcular el hash MD5 para cualquier archivo dado. Todo lo que necesitas está incluido en las dos unidades. IdHashMessageDigest y idHash, los cuales son parte de Indy.

Aquí está el código fuente:

 usos IdHashMessageDigest, idHash;
// devuelve MD5 tiene para un archivo
función MD5 (const nombre del archivo : cuerda): cuerda;
var
  idmd5: TIdHashMessageDigest5;
  fs: TFileStream;
  hash: T4x4LongWordRecord;
empezar
  idmd5: = TIdHashMessageDigest5.Create;
  fs: = TFileStream.Create (nombreDeArchivo, fmOpenRead O fmShareDenyWrite);
  tratar
    resultado: = idmd5.AsHex (idmd5.HashValue (fs));
  finalmente
    fs.Free;
    idmd5.Free;
  final;
final;

Otras formas de generar la suma de comprobación MD5

Además de usar Delphi, hay otras formas en que puede encontrar la suma de comprobación MD5 de un archivo. Un método es utilizar el Comprobador de integridad de suma de comprobación de archivos de Microsoft. Es un programa gratuito que solo se puede usar en el sistema operativo Windows.

MD5 Hash Generator es un sitio web que hace algo similar, pero en lugar de producir la suma de comprobación MD5 de un archivo, lo hace desde cualquier cadena de letras, símbolos o números que coloque en el cuadro de entrada.