Generatore di hash: SHA-256, SHA-512, SHA-1, MD5

Digita un testo o scegli un file: il generatore calcola subito i checksum SHA-256, SHA-384, SHA-512 e SHA-1, e su richiesta anche MD5. Incolla un hash atteso (ad esempio da una pagina di download) per confrontarlo subito. Tutto avviene nel browser – i file non vengono mai caricati.

MD5 non è sicuro ed è adatto solo a semplici checksum.
È esattamente questo testo a essere sottoposto a hash in UTF-8 – uno spazio in più o un ritorno a capo finale produce un hash completamente diverso.

Il tuo testo resta nel browser: non viene inviato, non viene salvato e non compare nell’indirizzo della pagina.

Il file viene letto solo in locale e non viene mai caricato (fino a 512 MB).

Risultato

SHA-256
231e0ff1f71c698c378b089ff6a33ec52b0d49a425684aff229e79f487dbe58e
SHA-1
7c61c8092125eb097804d9bbdc166735c4057d04
SHA-384
5994d7e5de71d78e21f136fa5df0f3a02fd529fe3c981f224a24846030b21afbbc0dad95b967d3f89d1466657826dd83
SHA-512
e772547dee9f8286cbf4b9590c54e3af53d7389461d41f55ca796b0cb54179b52ed0003a2f98e26d8d9ed283ad7cc4deff2f32a6e33a8c69bbc5c4f713c2ea65
Dati sottoposti a hash
Testo, 10 byte (UTF-8)

Come si calcola

Una funzione di hash trasforma dati di lunghezza qualsiasi in un valore di lunghezza fissa – l’hash, l’impronta o il checksum. Lo stesso input dà sempre lo stesso hash; cambiando un solo carattere se ne ottiene uno completamente diverso. Non è possibile risalire dall’hash all’input.

Gli algoritmi

Verificare un download

Molti progetti pubblicano un checksum SHA-256 accanto al file. Seleziona qui il file e incolla il valore pubblicato in «Confronta con l’hash atteso» – se corrisponde, il file è arrivato integro. Maiuscole/minuscole, spazi e due punti nel valore atteso non contano. Su Windows puoi ottenere lo stesso risultato con certutil -hashfile file SHA256, su macOS e Linux con shasum -a 256 file o sha256sum file.

Perché il mio hash è diverso?

Di solito per caratteri invisibili: echo testo | sha256sum calcola l’hash del testo con un ritorno a capo, echo -n senza. Anche i fine riga di Windows (CR LF invece di LF), un byte order mark o una codifica diversa da UTF-8 cambiano l’hash.

Hash e password

Hash veloci come SHA-256 o MD5 non sono adatti a memorizzare le password – un attaccante può provare miliardi di combinazioni al secondo. Usa invece algoritmi lenti e con salt come Argon2, scrypt o bcrypt.

Gli hash vengono calcolati con la Web Crypto API del browser. Il tuo testo, il file e il valore di confronto non vengono inviati, né salvati, né scritti nella barra degli indirizzi.

Domande frequenti

Come ottengo l’hash SHA-256 di un file?

Scegli il file in «Oppure calcola l’hash di un file» – il valore SHA-256 compare subito in alto nel risultato. Il file viene letto solo dentro il tuo browser e non viene mai caricato.

Un hash si può decifrare?

No. Un hash non è una cifratura ma una funzione a senso unico. Per input brevi o comuni (come password deboli), però, un attaccante può trovare un input corrispondente per tentativi o con tabelle precalcolate.

MD5 è ancora sicuro?

No. MD5 è compromesso dal 2004; le collisioni si generano in pochi secondi su un computer normale. Per la sicurezza usa SHA-256 o superiore. Come checksum contro errori di trasmissione accidentali, MD5 va ancora bene.

Perché il mio hash non corrisponde a quello della riga di comando?

La causa più comune è un ritorno a capo: echo "testo" | sha256sum aggiunge un \n. Usa echo -n o printf. Anche fine riga diversi (CR LF su Windows) o codifiche dei caratteri diverse cambiano l’hash.

Che differenza c’è tra output esadecimale e Base64?

È lo stesso hash scritto in modo diverso: l’esadecimale usa 2 caratteri per byte (SHA-256 = 64 caratteri), il Base64 è più corto (44 caratteri). Il Base64 si usa ad esempio in Subresource Integrity (integrity="sha256-…").

Fonti e riferimenti normativi

Aggiornato al:

Strumenti correlati