Vai al contenuto

Generatore di hash (SHA-256)

Scrivi o incolla un testo e calcola in un clic i suoi hash SHA-256, SHA-1, SHA-384 e SHA-512, mostrati in esadecimale minuscolo o maiuscolo, con un pulsante di copia per ciascuno. L'hashing usa l'API Web Crypto del tuo browser sui byte UTF-8 del testo, quindi nulla viene caricato. Gratuito, senza registrazione. Calcola l'hash solo di testo, non di file.

Come usare il generatore di hash

  1. 1. Inserisci il tuo testo. Qualsiasi testo, fino a quanto il browser riesce a contenere in una casella di testo.
  2. 2. Premi Genera hash. Tutti e quattro i digest compaiono insieme, con SHA-256 evidenziato come quello consigliato.
  3. 3. Scegli il caso. Esadecimale maiuscolo passa ogni digest tra minuscolo (la convenzione più usata) e maiuscolo; i byte sottostanti sono gli stessi.
  4. 4. Copia il digest che ti serve con il pulsante accanto.

I quattro algoritmi

SHA-1, SHA-256, SHA-384 e SHA-512 sono definiti nel Secure Hash Standard del governo degli Stati Uniti, FIPS 180-4. Ognuno trasforma un input qualsiasi in un digest di dimensione fissa. La dimensione è l'unica differenza visibile nell'output:

AlgoritmoDimensione del digestCaratteri esadecimaliStato
SHA-1160 bit40Compromesso per la sicurezza: la prima collisione pratica è stata pubblicata nel 2017, e il NIST raccomanda di eliminarlo entro il 2030. Solo per checksum legacy.
SHA-256256 bit64La scelta standard per i controlli di integrità e le firme
SHA-384384 bit96Famiglia SHA-2; un SHA-512 troncato
SHA-512512 bit128Famiglia SHA-2; spesso più veloce di SHA-256 sui processori a 64 bit

Un hash crittografico è un'impronta a senso unico. Lo stesso input dà sempre lo stesso digest, una piccola modifica ne dà uno del tutto diverso, e dal digest non si può risalire al testo. MD5 non è offerto perché l'API Web Crypto non lo implementa.

Esempio svolto

Testo

abc

SHA-256

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

SHA-1

a9993e364706816aba3e25717850c26c9cd0d89d

Questi due sono i vettori di test pubblicati negli esempi dello standard, quindi puoi verificare lo strumento con una fonte affidabile. Ora guarda cosa cambia con una sola lettera. Sostituendo «dog» con «cog» in The quick brown fox jumps over the lazy dog:

…dog

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

…cog

e4c4d8f3bf76b692de791a173e05321150f7a345b46484fe427f6acc7ecc81be

Questi digest SHA-256 non hanno nulla di riconoscibile in comune: 123 dei 256 bit sono diversi, vicino alla metà che ci si aspetta da valori non correlati. È l'effetto valanga, ed è il motivo per cui un hash può mostrare che un file o un messaggio è cambiato senza rivelare che cosa è cambiato.

Perché il tuo hash potrebbe non corrispondere

  • Interruzione di riga finale. abc e abc seguito da un a capo sono input diversi: l'SHA-256 di abc più un a capo inizia con edeaaff3, non con ba7816bf. Il comando echo abc | sha256sum calcola l'hash anche dell'a capo; usa printf o echo -n per escluderlo.
  • Maiuscole e spazi. Abc ha un hash diverso da abc, e così anche uno spazio all'inizio o alla fine.
  • Codifica. Lo strumento calcola l'hash dei byte UTF-8 di quello che digiti. Un testo calcolato in UTF-16 o Latin-1 altrove dà un digest diverso per ogni carattere non ASCII.
  • Fine riga. Il testo copiato da un file di Windows può contenere ritorni a capo che una casella di testo normalizza.

Cosa non fa questo strumento

  • File. Calcola l'hash solo di testo. Per un file, usa shasum -a 256 file su macOS o Linux, o certutil -hashfile file SHA256 su Windows.
  • Password. SHA-256 è progettato per essere veloce, e questo aiuta un attaccante a indovinare le password. Conserva le password con una funzione di hash per password lenta e con sale, come Argon2id, scrypt o bcrypt.
  • Hash con chiave. Non ci sono opzioni HMAC né sale.

Di quale strumento hai bisogno?

Per la vista esadecimale del testo stesso invece del suo digest, usa il Convertitore esadecimale. Per un identificatore casuale, il Generatore di UUID; per un segreto casuale, il Generatore di Password.

Domande frequenti

Il mio testo viene caricato su un server?
No. Ogni digest viene calcolato nel tuo browser con l'API Web Crypto (crypto.subtle.digest). Il tuo testo non viene inviato da nessuna parte, e lo strumento continua a funzionare anche se vai offline dopo il caricamento della pagina.
Che cos'è un hash crittografico?
Una funzione che trasforma un input di lunghezza qualsiasi in un digest di lunghezza fissa. È deterministica, a senso unico e sensibile a ogni bit dell'input. Gli hash servono, tra l'altro, a verificare l'integrità dei file, nelle firme digitali e negli identificatori dei commit.
Quale algoritmo di hash dovrei usare?
SHA-256 per quasi tutto. SHA-384 e SHA-512 danno digest più lunghi della stessa famiglia. Usa SHA-1 solo quando un sistema vecchio lo richiede, e mai per la sicurezza.
SHA-1 è sicuro da usare?
Non per la sicurezza. L'attacco SHAttered del 2017 ha prodotto due file PDF diversi con lo stesso digest SHA-1, e il NIST raccomanda di eliminarlo entro la fine del 2030. Resta accettabile per checksum non legati alla sicurezza, dove un attaccante non è un problema.
Perché non c'è un'opzione MD5?
L'API Web Crypto non implementa MD5, e lo strumento usa solo ciò che offre il browser. MD5 non è adatto alla sicurezza da molti anni.
Posso calcolare l'hash di un file con questo strumento?
No, accetta solo testo. Per i file usa lo strumento da riga di comando del tuo sistema operativo, come descritto sopra.
Perché il mio SHA-256 è diverso da quello di un altro sito?
Quasi sempre l'input differisce per un carattere invisibile, come un a capo o uno spazio finale, oppure per una diversa codifica del testo. Controlla i byte esatti con il Convertitore esadecimale.

Strumenti correlati

Altri strumenti: Dati, markup e codice