Calcola l'hash MD5 per un file o una stringa usando Delphi

L'algoritmo MD5 Message-Digest è una funzione hash crittografica. MD5 viene comunemente utilizzato per verificare l'integrità dei file, ad esempio per assicurarsi che un file sia rimasto inalterato.

Un esempio di ciò è quando si scarica un programma online. Se il distributore del software distribuisce l'hash MD5 del file, è possibile produrre l'hash utilizzando Delphi e quindi confrontare i due valori per assicurarsi che siano uguali. Se sono diversi, significa che il file scaricato non è quello richiesto dal sito Web e pertanto potrebbe essere dannoso.

Un valore di hash MD5 è lungo 128 bit ma viene in genere letto nel suo valore esadecimale a 32 cifre.

Trovare l'hash MD5 usando Delphi

Usando Delphi, puoi facilmente creare una funzione per calcolare l'hash MD5 per un dato file. Tutto ciò che serve è incluso nelle due unità IdHashMessageDigest e idHash, entrambi fanno parte di Indy.

Ecco il codice sorgente:

 usi IdHashMessageDigest, idHash;
// restituisce MD5 per un file
funzione MD5 (const nome del file : corda): corda;
var
  idmd5: TIdHashMessageDigest5;
  fs: TFileStream;
  hash: T4x4LongWordRecord;
inizio
  idmd5: = TIdHashMessageDigest5.Create;
  fs: = TFileStream.Create (fileName, fmOpenRead O fmShareDenyWrite);
  provare
    risultato: = idmd5.AsHex (idmd5.HashValue (fs));
  infine
    fs.Free;
    idmd5.Free;
  fine;
fine;

Altri modi per generare il checksum MD5

Oltre all'utilizzo di Delphi ci sono altri modi per trovare il checksum MD5 di un file. Un metodo consiste nell'utilizzare Microsoft File Checksum Integrity Verifier. È un programma gratuito che può essere utilizzato solo sul sistema operativo Windows.

MD5 Hash Generator è un sito Web che fa qualcosa di simile, ma invece di produrre il checksum MD5 di un file, lo fa da qualsiasi stringa di lettere, simboli o numeri che hai messo nella casella di input.