In breve: un hash è un'impronta a lunghezza fissa calcolata dal tuo testo. Lo stesso input produce sempre lo stesso hash, ma basta cambiare un solo carattere per ottenerne uno completamente diverso: proprio ciò che rende gli hash utili per capire se un testo o un file è cambiato. Questa guida spiega cos'è un hash, quale algoritmo scegliere (MD5, SHA-1, SHA-256, SHA-512), come verificare l'integrità nella pratica e i limiti di sicurezza da non ignorare mai.
L'hashing trasforma un testo di qualsiasi lunghezza — una parola, un paragrafo o un intero documento — in una breve stringa di caratteri esadecimali. Poiché il calcolo è deterministico, puoi eseguirlo due volte e confrontare: hash identici significano input identico byte per byte, hash diversi indicano che qualcosa è cambiato, anche se le due versioni sembrano uguali a schermo.

Cos'è esattamente un hash?
Una funzione di hash crittografica ha tre proprietà che contano nel lavoro quotidiano. È deterministica: lo stesso input dà sempre lo stesso risultato. È a lunghezza fissa: sia tre parole sia tre megabyte producono un digest della stessa dimensione. E mostra l'effetto valanga: cambiare un carattere — anche solo uno spazio finale — ribalta circa metà dei bit in uscita, quindi il nuovo hash appare del tutto diverso.
È questa ultima proprietà a rendere l'hash un rilevatore di modifiche affidabile: non puoi confrontare a occhio due lunghi paragrafi ed essere certo che siano identici, ma puoi confrontare due hash di 64 caratteri in un secondo.
Quale algoritmo usare?
Gli algoritmi più comuni differiscono soprattutto per lunghezza del digest e per il fatto di essere ancora considerati sicuri o meno:
- MD5 — digest a 128 bit, 32 caratteri esadecimali. Veloce, ma crittograficamente compromesso (esistono collisioni pratiche). Va bene per controlli non di sicurezza come deduplicazione o chiavi di cache; mai per la sicurezza.
- SHA-1 — 160 bit, 40 caratteri. Anch'esso violato da attacchi di collisione; in via di dismissione ovunque.
- SHA-256 — 256 bit, 64 caratteri. Fa parte della famiglia SHA-2 ed è oggi la scelta predefinita sensata per i controlli d'integrità.
- SHA-512 — 512 bit, 128 caratteri. Un margine di sicurezza più ampio; utile quando vuoi un po' di respiro in più.
Se hai dubbi, scegli SHA-256: è ampiamente supportato, veloce sul testo e abbastanza robusto perché una collisione deliberata non sia una preoccupazione realistica.
Come verificare l'integrità del testo nella pratica
Il flusso è semplice. Incolla il testo originale nel Generatore di Hash e annota il digest SHA-256. Più tardi — dopo che il testo è passato per una mail, un incolla nel CMS o una copia tra app — calcolalo di nuovo e confronta. Se i due digest coincidono, non è cambiato nulla. Se differiscono, si è insinuata una modifica invisibile: una virgoletta tipografica sostituita, un'interruzione di riga rimossa o uno spazio finale.
È più affidabile di una revisione visiva proprio perché le cose che rompono la formattazione sono spesso quelle che non si vedono.
Cosa un hash non può fare
L'hashing non è cifratura. Un hash è unidirezionale: non puoi ricondurre un digest SHA-256 al testo originale. Questo significa anche che l'hashing non nasconde né protegge il contenuto: consente solo di rilevare le modifiche. Due altri limiti vanno detti con chiarezza:
- L'hash grezzo di una password non è un'archiviazione sicura. Le password richiedono una funzione lenta e con salt (bcrypt, scrypt, Argon2), non un semplice MD5 o SHA-256.
- La codifica conta. Lo stesso testo visibile, se sottoposto a hash come UTF-8 e come UTF-16, o con e senza interruzione di riga finale, produce digest diversi. Confronta il simile con il simile.
Verificare un file scaricato
L'uso più comune nel mondo reale è confermare che un download sia arrivato integro. Un fornitore pubblica lo SHA-256 di un installer; tu calcoli il checksum del file ricevuto e confronti. Se coincidono, i byte sono identici a quelli distribuiti. Una discrepanza indica quasi sempre un download corrotto o incompleto — o, raramente, un file manomesso. Per i file locali usa il Verificatore di Checksum File, che legge il file nel browser e non lo carica mai online.
Errori comuni da evitare
- Usare MD5 o SHA-1 per qualcosa legato alla sicurezza — usa invece SHA-256.
- Confondere l'hashing con la cifratura, o aspettarsi di “decodificare” un hash.
- Confrontare hash generati da codifiche diverse o con spazi vaganti.
- Archiviare hash grezzi delle password invece di usare una funzione dedicata.
Usato correttamente, un hash è uno dei controlli d'integrità più economici disponibili: incolla, confronta e sai con certezza se due versioni coincidono — senza tirare a indovinare, e senza che nulla lasci il tuo browser.