Vai al contenuto
Allin

Cos'è una funzione di hash? (MD5, SHA-256)

Pubblicato il 02/10/2025 · 2 min di lettura · Strumenti per sviluppatori

Daniel Okonkwo

Daniel OkonkwoSviluppatore front-end e redattore Tech presso Allin

Performance web · Formati di file

Verificato su 2 fonti

Vedi il profilo
In breve

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.

Generatore di hashCalcola 15 impronte (MD5, SHA-256, SHA-3, CRC-32…) di un testo o di un file.Prova lo strumento

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?