Cos'è una funzione di hash? (MD5, SHA-256)
Pubblicato il 02/10/2025 · 2 min di lettura · Strumenti per sviluppatori
Daniel Okonkwo — Sviluppatore front-end e redattore Tech presso Allin
Performance web · Formati di file
Verificato su 2 fonti
Una funzione di hash trasforma qualsiasi input in una stringa di caratteri di dimensione fissa — il suo 'hash' o 'digest'. Lo stesso input dà sempre lo stesso hash, ma non puoi invertirlo per recuperare l'input, e qualsiasi minima modifica produce un risultato completamente diverso. SHA-256 è una scelta moderna e sicura; MD5 e SHA-1 sono compromessi per la sicurezza e vanno usati solo per checksum non di sicurezza.
Una funzione di hash trasforma qualsiasi input in un'impronta di dimensione fissa. Ecco cosa fa, le sue proprietà chiave, gli usi comuni e quali algoritmi sono sicuri.
Cosa fa
Una funzione di hash prende dati di qualsiasi dimensione — una parola, un documento, un'intera immagine disco — e li mappa in una stringa di lunghezza fissa, come i 64 caratteri esadecimali di un digest SHA-256. Quell'output è deterministico: lo stesso input dà sempre esattamente lo stesso hash. Pensalo come un'impronta dei dati, compatta e unica per ciò che l'ha prodotta.
Proprietà chiave
I buoni hash crittografici condividono alcuni tratti. Sono a senso unico: non si può risalire dal digest all'input. Mostrano l'effetto valanga: cambia un bit e cambia l'intero hash. E resistono alle collisioni: dev'essere impraticabile trovare due input diversi con lo stesso hash. Insieme rendono un hash un surrogato affidabile dei dati stessi.
Usi comuni
Gli hash verificano l'integrità: pubblica l'hash di un file e chiunque può ri-hashare il proprio download per confermare che non è stato alterato. Sostengono firme digitali e blockchain, e deduplicano i dati per impronta. Anche le password si conservano come hash — ma con un sale casuale e un algoritmo deliberatamente lento, così un database rubato è molto più difficile da violare.
MD5, SHA-1, SHA-256
MD5 e SHA-1 sono vecchi e compromessi: i ricercatori sanno produrre collisioni, quindi non sono più affidabili per la sicurezza, pur restando validi come checksum rapidi contro la corruzione accidentale. SHA-256 (famiglia SHA-2) è lo standard sicuro attuale per integrità e firme. Per le password in particolare, non usare affatto un hash veloce semplice — usane uno lento e con sale come bcrypt o Argon2.
Domande frequenti
- Un hash è reversibile?
- No. Un buon hash è a senso unico, quindi non puoi recuperare l'input originale dal digest — puoi solo ri-hashare un tentativo e confrontare.
- Perché MD5 è considerato compromesso?
- Esistono collisioni pratiche — due input diversi che producono lo stesso hash MD5 — quindi non è più affidabile dove conta la sicurezza.
- Devo fare l'hash delle password con SHA-256?
- No. Usa un hash per password lento e con sale come bcrypt o Argon2 — resistono agli attacchi brute-force molto meglio di un hash veloce generico.
Articoli che potrebbero interessarti
Tutte le guide →Strumenti correlati
Fonti
Hai notato un errore in questo articolo?