Antivirus e sicurezza

Come si calcola l’MD5 di un file?

24 Giugno 2014
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  percorsonome_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:tempfciv -md5 C:Usersclaudio.paneraiDesktopdesc.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 percorsonome_file.ext

Queste informazioni ti sono state utili?
Autore
Claudio Panerai
Gli ultimi prodotti che vi ho portato, nel 2020: Vade Secure Il primo sistema antispam/antihishing/antimalware basato sull'intelligenza artificiale e appositamente progettato per Office 365. Naturalmente a misura di MSP. ID Agent Piaffaforma che consente agli MSP di monitorare le credenziali (proprie e dei clienti) che sono in vendita nel dark web.
Nato a Ivrea nel 1969, è sposato e padre di due figlie. Laureato in Scienze dell’Informazione nel 1993, ha dapprima svolto numerose consulenze e corsi di formazione per varie società per poi diventare responsabile IT per la filiale italiana del più grande editore mondiale di informatica, IDG Communications. Dal 2004 lavora in Achab dapprima come Responsabile del Supporto Tecnico per poi assumere dal 2008 la carica di Direttore Tecnico. Giornalista iscritto all’albo dei pubblicisti, dal 1992 pubblica regolarmente articoli su riviste di informatica e siti web di primo piano. E' stimato da colleghi e clienti per la schiettezza e onestà intellettuale. Passioni: viaggi, lettura, cinema, Formula 1, sviluppo personale, investimenti immobiliari, forex trading. Claudio è anche su LinkedIn e Facebook.
Commenti (2)

Ciao Claudio,
Grazie per la dritta! Mi permetto di indicare, per chi ha la necessità di calcolare l’hash di molteplici file contemporaneamente HashMyFiles di Nirsoft scaricabile dal seguente link http://www.nirsoft.net/utils/hash_my_files.html .
Il tool è free, leggero ed un’interfaccia grafica intuitiva. Mi è stato molto utile per creare override in Webroot.

Antonio Pace,

Grazie della contro-dritta.
In effetti Nirsoft ha delle belle utility.

Claudio Panerai,

Lascia un commento

Il tuo indirizzo e-mail non verrà pubblicato, lo utilizzeremo solamente per inviarti la notifica della pubblicazione del tuo commento. Ti informiamo che tutti i commenti sono soggetti a moderazione da parte del nostro staff.