MD5 (Message Digest Algorithm 5) è una funzione hash crittografica che accetta un input (come un file, una password o un messaggio) e produce un valore hash di dimensione fissa di 128 bit (solitamente visualizzato come un numero esadecimale di 32 caratteri).
Tecnicamente, MD5 non è crittografia perché è un processo unidirezionale: non può essere facilmente ripristinato all'input originale.
Controllo dell'integrità dei dati: verifica che i file o i messaggi non siano stati modificati confrontando il loro hash MD5 prima e dopo la trasmissione.
Memorizzazione delle password (storicamente): eseguire l'hash delle password invece di memorizzarle in testo normale (sebbene MD5 sia ora considerato debole per questo scopo).
Firme digitali: creare impronte digitali compatte e univoche dei dati a scopo di verifica.
Elaborazione rapida: generare rapidamente valori hash per grandi volumi di dati.
Utilizzare una libreria o uno strumento di programmazione per calcolare l'hash MD5 (ad esempio, la funzione md5() in Python, la classe MessageDigest in Java, System.Security.Cryptography.MD5 in C#).
Passare i dati di input (stringa, file o binario) alla funzione MD5.
Memorizzare o confrontare l'hash MD5 risultante per una verifica o una ricerca successiva.
Ricorda sempre: MD5 non è sicuro per esigenze di sicurezza sensibili come la protezione con password odierna: si consigliano hash più robusti come SHA-256 o bcrypt.
Quando si verifica l'integrità dei file dopo download o backup (ad esempio, confronti "checksum MD5").
Quando si creano identificatori univoci per dati non sensibili (ad esempio, memorizzazione nella cache) meccanismi, token non critici).
Quando si gestiscono sistemi legacy o applicazioni più vecchie in cui MD5 è ancora il formato previsto.
Quando la velocità è fondamentale e la sicurezza non è una preoccupazione importante.