Generatore di hash MD5 (gratis, online)
Strumento online gratuito per convertire un testo nel corrispondente hash MD5. Il calcolo avviene all'istante nel browser e nulla viene inviato a un server. Comodo per verificare l'integrità di un file o per identificarlo in modo univoco, ma sconsigliato in ambito di sicurezza perché ne è stata dimostrata la collisione.
Che cos'è l'hash MD5?
MD5 (Message Digest Algorithm 5) è una funzione hash che trasforma una stringa di lunghezza qualsiasi in un valore di lunghezza fissa: 128 bit, rappresentati come 32 caratteri esadecimali. Questo strumento calcola l'hash MD5 di ciò che digitate direttamente nel vostro browser e lo mostra all'istante, senza inviare nulla a un server. Lo stesso input produce sempre lo stesso hash, e anche un solo carattere diverso genera un risultato completamente differente.
Va detto però che nel 2004 è stato dimostrato un attacco di collisione contro MD5 — una tecnica per costruire due input diversi che producono lo stesso hash — quindi non offre più garanzie di sicurezza crittografica. Evitatelo per usi come la memorizzazione di password o le firme digitali, dove la resistenza alla manomissione è essenziale. Resta invece popolare per usi non legati alla sicurezza, come il rilevamento di corruzioni accidentali dei dati o la verifica che un file corrisponda all'originale, semplicemente perché è veloce e comodo da usare.
Come usare il calcolatore di hash MD5
- Digitate o incollate il testo Inserite nel campo la stringa da sottoporre ad hash. Il risultato si aggiorna mentre digitate, senza bisogno di premere alcun pulsante.
- Leggete l'hash MD5 Il risultato di 32 caratteri esadecimali compare subito sotto il campo di input. Se il campo è vuoto, anche il risultato resta vuoto.
- Copiate il risultato Cliccando su «Copia» l'hash viene messo negli appunti, pronto per essere incollato in un altro strumento o file.
- Modificate l'input per vedere la differenza Cambiate un solo carattere e osservate come l'hash cambi completamente: un modo pratico per capire come funziona il rilevamento delle manomissioni.
Consigli per sfruttarlo al meglio
- MD5 è una funzione hash a 128 bit progettata da Ronald Rivest nel 1991. Nel 2004 è stato dimostrato un attacco di collisione (due input diversi con lo stesso hash), quindi non va usata a scopi di sicurezza.
- Resta invece molto diffusa per la verifica dell'integrità di un file scaricato, intesa come rilevamento di corruzioni accidentali e non di manomissioni: si confronta il valore MD5 pubblicato dalla fonte con quello calcolato in locale.
- Usare MD5 per conservare le password è estremamente rischioso: le GPU moderne calcolano decine di miliardi di hash MD5 al secondo e una password breve viene forzata in un istante.
- L'output di MD5 è sempre di 128 bit (32 cifre esadecimali), indipendentemente dalla lunghezza dell'input.
- Per conservare le password usate algoritmi dedicati e volutamente costosi da calcolare, come bcrypt o Argon2.
A cosa serve l'hash MD5
Verificare un file scaricato
Confrontate il valore MD5 pubblicato dalla fonte con quello calcolato in locale per confermare che il download non si sia corrotto durante il trasferimento.
Individuare record duplicati
Calcolate l'hash di un gran numero di testi o record e segnalate come duplicati quelli con hash coincidenti: MD5 è abbastanza veloce da rendere pratico questo approccio anche su grandi volumi.
Verificare la compatibilità con sistemi datati
Alcuni sistemi o API più datati usano ancora MD5 per generare chiavi di cache o identificatori. Potete verificare in locale se il vostro risultato corrisponde a quanto atteso.
Capire come si comportano le funzioni hash
Sperimentare piccole modifiche all'input è un modo semplice per osservare l'«effetto valanga»: come un cambiamento minimo produca un output completamente diverso.
Glossario
- Funzione hash
- Una funzione che trasforma dati di input di lunghezza qualsiasi in un valore di output di lunghezza fissa. È una trasformazione a senso unico: lo stesso input produce sempre lo stesso output.
- MD5
- Una funzione hash a 128 bit progettata da Ronald Rivest nel 1991. In passato era usatissima, ma oggi non è più considerata sicura dal punto di vista crittografico.
- Collisione
- Il caso in cui due input diversi producono lo stesso valore hash. Nel 2004 è stata dimostrata una tecnica pratica per generare deliberatamente collisioni MD5.
- Checksum
- Un valore breve usato per verificare che i dati non si siano corrotti accidentalmente durante il trasferimento o la memorizzazione. Per questo scopo MD5 funziona ancora bene, anche se non può impedire una manomissione intenzionale.
- Notazione esadecimale
- Un modo di scrivere i numeri usando i sedici simboli da 0 a 9 e da a a f. Questo strumento mostra il risultato MD5 come una stringa esadecimale di 32 caratteri.
- Lunghezza dell'output (128 bit)
- MD5 produce sempre un valore di 128 bit, mostrato come 32 caratteri esadecimali, indipendentemente da quanto fosse lungo o corto l'input originale.
- Proprietà unidirezionale
- La proprietà che rende praticamente impossibile risalire all'input originale a partire dal solo valore hash. Gli input brevi, tuttavia, possono comunque essere individuati con la forza bruta o con tabelle precalcolate.
Domande frequenti
A proposito — l'inventore di MD5 e la parabola di un algoritmo «rotto»
MD5 (Message Digest Algorithm 5) fu progettato nel 1991 dal crittografo Ronald Rivest, la «R» di RSA. All'inizio si diffuse come funzione hash sicura, ma nel 1996 emersero debolezze di progetto e nel 2004 la ricercatrice cinese Wang Xiaoyun e il suo gruppo riuscirono a dimostrare un attacco di collisione, decretandone il ritiro dagli usi di sicurezza.
Nel 2008 fu documentato un caso reale in cui, sfruttando la collisione di MD5, venne costruito un certificato SSL falso: un certificato contraffatto con lo stesso hash MD5 rendeva possibile un attacco man in the middle. Da quel momento i principali browser e le autorità di certificazione abbandonarono MD5 nei certificati.
Oggi MD5 sopravvive soprattutto come checksum non crittografico. Per verificare che un file di grandi dimensioni sia arrivato integro dopo un trasferimento — quindi per intercettare corruzioni accidentali, non manomissioni intenzionali — MD5 svolge ancora perfettamente il suo compito.