Scarichi un programma e il sito mostra accanto al link una lunga stringa di lettere e cifre: è un'impronta (hash) che permette di verificare che il file non sia stato né corrotto né alterato. Gli stessi meccanismi, in un altro contesto, servono a conservare le password. I due usi richiedono algoritmi diversi e confonderli è un errore di sicurezza molto comune.
Cos'è un'impronta
Una funzione di hash trasforma qualsiasi dato (una parola, un file da 4 GB) in una stringa di lunghezza fissa. È deterministica (lo stesso input dà sempre la stessa impronta) e sensibile: cambiare un solo bit cambia completamente il risultato. Per esempio, lo SHA-256 del testo «abc» inizia con ba7816bf…, mentre quello di «abd» inizia con a52d159f…, senza alcuna somiglianza. L'operazione non è reversibile: dall'impronta non si può ricavare il testo.
| Algoritmo | Dimensione | Caratteri esadecimali | Stato |
|---|---|---|---|
| MD5 | 128 bit | 32 | Violato per la sicurezza (si possono fabbricare collisioni); sufficiente per rilevare una corruzione accidentale. |
| SHA-1 | 160 bit | 40 | Obsoleto per la sicurezza. |
| SHA-256 | 256 bit | 64 | Riferimento attuale per l'integrità. |
| SHA-512 | 512 bit | 128 | Impronta più lunga. |
Verificare un file scaricato, passo dopo passo
- Trova l'impronta pubblicata sul sito ufficiale (spesso «SHA256» o «checksum»), idealmente su una pagina HTTPS diversa dal link di download.
- Apri Generatore di hash SHA-256 (o Generatore di hash MD5 se è pubblicato solo l'MD5) e trascina il file. Viene letto a blocchi di 4 MB con una barra di avanzamento: anche un file grande (fino a 4 GB) non esaurisce la memoria. Puoi trascinarne diversi.
- Incolla l'impronta attesa in «Confronta»: sono accettati esadecimale (maiuscolo o minuscolo, con o senza «:»), base64 o una riga di output di sha256sum.
- Se lo strumento indica una corrispondenza, il file è identico a quello rilasciato dall'editore. Altrimenti non aprirlo: scaricalo di nuovo.
Un punto importante: un'impronta verifica che hai ricevuto lo stesso file descritto, non che il file sia innocuo. Se un aggressore controlla sia il file sia l'impronta mostrata nella stessa pagina, il controllo non dimostra nulla.
Calcolare l'hash di un testo: i dettagli che cambiano tutto
Il testo viene sottoposto a hash in UTF-8, esattamente come digitato. Un a capo finale cambia l'impronta: lo SHA-256 di «abc» e quello di «abc» seguito da un a capo sono completamente diversi (edeaaff3… contro ba7816bf…). È la causa più frequente di «il mio hash non corrisponde»: controlla spazi e a capo invisibili. Spunta HMAC per produrre un codice di autenticazione con una chiave segreta: solo chi conosce la chiave può riprodurre la stessa impronta.
Password: perché non SHA-256, e bcrypt al suo posto
- Il sale è casuale e incorporato nel risultato: la stessa password dà ogni volta un hash diverso e la verifica funziona comunque.
- bcrypt legge solo i primi 72 byte della password (in UTF-8 una lettera accentata vale 2, un'emoji 4): lo strumento ti avverte quando il limite viene superato.
- Il calcolo avviene senza bloccare lo schermo, con una vera barra di avanzamento; la password non viene né inviata né salvata.
Per scegliere una password robusta, leggi Password sicure: entropia, frasi segrete e violazioni di dati.
Errori frequenti
- Usare MD5 o SHA-1 per firme o password.
- Conservare le password con un semplice SHA-256, anche con il sale.
- Confrontare le impronte a occhio: basta una lettera diversa e non la vedi. Usa il confronto dello strumento.
- Ignorare le differenze di maiuscole o di a capo nell'hash di un testo.
- Credere che un'impronta identica garantisca che il file sia innocuo.
Limiti da conoscere
- Un hash non cifra nulla: non è reversibile, ma le password brevi si possono trovare per tentativi.
- Le impronte MD5 e SHA-1 non vanno più usate per la sicurezza.
- bcrypt è una scelta solida ma non sostituisce una politica completa (limitazione dei tentativi, autenticazione a due fattori).
Domande frequenti
Il mio file viene caricato per calcolarne l'impronta?
No. Il calcolo avviene nel tuo browser; il file è letto a blocchi di 4 MB sul tuo dispositivo.
Perché due testi quasi identici hanno impronte senza alcuna relazione?
È voluto: cambiare un solo bit cambia completamente il risultato. Si chiama effetto valanga.
MD5 è ancora utilizzabile?
Per rilevare una corruzione accidentale sì. Per qualsiasi scopo di sicurezza (firma, password) no: usa SHA-256 o, per le password, bcrypt.
Quale costo bcrypt scegliere?
Da 10 a 12 per un sito web. Scegli il valore più alto che i tuoi server sopportano senza rallentare l'accesso degli utenti.
Si può ricavare un testo dalla sua impronta?
Non direttamente. Ma una password breve o comune si può trovare per tentativi, da cui il valore di un algoritmo lento come bcrypt.