Cos'è l’MD5 di un file e come si calcola

 
Se hai solo 60 secondi
 
Cos'è
 
E’ una stringa di 32 caratteri che identifica univocamente un file. Calcolare l’MD5 di un file significa generare un’impronta (tecnicamente hash) di 32 caratteri, univoca di quel file. Così come ogni persona ha un’impronta digitale diversa, ogni file ha un MD5 diverso.
 
A cosa serve
 
E’ spesso usato su internet per due attività principali:
  • per verificare l’integrità di un file;
  • per la memorizzazione sicura di password.
Come si calcola
 
Esistono vari programmi per calcolare l’MD5 di un file.
Uno semplice è intuitivo lo si può scaricare qui.


Se hai più di 60 secondi

Cos'è
 
E’ una stringa a 128 bit, quindi 32 caratteri, risultato di un’operazione di hashing. Per semplicità si dice semplicemente MD5, ma il nome completo è MD5 checksum o MD5 hash. Calcolare l’hash MD5 di un file significa applicare una tecnica di hashing (un algoritmo) che estrae dal file una stringa che lo identifica univocamente.
 
A cosa serve
 
Gli hash MD5 dei file vengono utilizzati in almeno due circostanze.
  1. Download e copia dei file
Ogni volta che si sposta, copia, muove o scarica un file, l’hash MD5 dice se il file è corrotto o meno. Se per esempio scarichiamo da questo sito il programma WinMd5 Free, immediatamente sotto al link per scaricarlo viene riportato il valore di MD5. Quindi dopo aver scaricato il file per verificare che sia integro ed esattamente uguale all’originale possiamo calcolare l’MD5 del file che abbiamo scaricato e confrontare la stringa con quella segnalata sul sito. Se il valore è identico, allora il file è identico a quello che c’è sul sito.
  1. Memorizzazione sicura delle password
Un portale o un sito web che deve memorizzare le password degli utenti trova nei checksum MD5 un ottimo alleato. Infatti è sufficiente che il sito salvi nel proprio database non le password vere e proprie, ma il valore hash MD5 delle password.
Se anche un hacker si impossessasse di un MD5, non potrebbe risalire alla password che l’ha generato. Quando gli utenti accedono al sito e inseriscono la password, il portale calcola l’MD5 e lo confronta con quello memorizzato nel database. Se coincidono allora la password specificata dall’utente è corretta.
Si può decifrare? Diciamo subito che MD5 è una tecnica di hashing e non di crittografia. E la differenza non è di poco conto. La crittografia infatti è una funzione reversibile, ossia una volta cifrato qualcosa, se si possiede la chiave si può tornare indietro all'originale. L’hashing invece è un processo monodirezionale ossia una volta trovato un hash MD5 non è possibile tornare indietro. Da un hash non si può quindi risalire a ciò che l’ha originato, se non per (infiniti) tentativi. In internet si trovano siti che promettono di decifrare gli hash delle password. Mentono? Sì e no.
Confermo quanto detto sopra, ossia che l’hash, come algoritmo matematico, è a senso unico. Quello che alcuni siti hanno fatto è raccogliere un incredibile numero di parole e rispettivo hash per cui partendo dall’hash restituiscono il valore originale. Un esempio di questi siti è questo.
 
Come si calcola?
 
Calcolare l’MD5 di un file è un processo matematico, si deve applicare un algoritmo. Serve quindi un programma che calcoli l’MD5. In rete se ne trovano parecchi, posso citare il semplice ed efficace WinMd5 Free.

Oppure se vogliamo un programmino veloce da riga di comando si può ricorrere a FCIV, messo a disposizione da Microsoft.
Basta eseguirlo e indicare dove salvare il programma, per esempio in C:\temp o C:\windows.
Una volta che il programma è sul disco fisso, può essere richiamato in ogni momento. La sintassi di utilizzo è molto semplice:
 
FCIV -md5  percorso\nome_file.ext
 
Quindi se il file FCIV sta nella cartella C:\temp e si vuole calcolare il valore MD5 del file desc.txt che sta sul desktop, il comando è:
 
C:\temp\fciv -md5 C:\Users\claudio.panerai\Desktop\desc.txt
 
E il risultato è questo:


In realtà questo programma serve anche per calcolare il valore SHA1 dei file e quindi la generica riga di comando diventa:
 
FCIV -md5 –sha1 percorso\nome_file.ext

Queste informazioni ti sono state utili?


Condividi sui Social Network