Generatore di hash — MD5, SHA-1, SHA-256, SHA-512, CRC32 e HMAC
Calcola l'hash di testo o file con MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC32, verifica un checksum o calcola un HMAC. I file non lasciano mai il tuo dispositivo.
| MD5 | … | |
|---|---|---|
| SHA-1 | … | |
| SHA-256 | … | |
| SHA-512 | … | |
| CRC32 | … |
L'hash di testi e file viene calcolato nel tuo browser; i file vengono letti dal disco a blocchi e non vengono mai caricati. Sfoglia tutti gli strumenti gratuiti.
Hai trovato un problema o qualcosa che potrebbe andare meglio? Leggiamo ogni messaggio e sistemiamo le cose in fretta.
Questo generatore di hash calcola i checksum MD5, SHA-1, SHA-256, SHA-384, SHA-512 e CRC32 di testo o file, tutti insieme, nel browser. Usalo per verificare che un download corrisponda al checksum pubblicato sul sito dell'editore, per ottenere uno SHA-256 per un lockfile o un attributo Subresource Integrity, o per calcolare una firma HMAC mentre fai il debug di un webhook. Il testo viene elaborato come byte UTF-8, esattamente come fanno sha256sum, OpenSSL e la libreria standard di ogni linguaggio di programmazione. Trascina più file insieme e ottieni una tabella dei checksum di tutti, più un file compatibile con sha256sum che puoi verificare con sha256sum -c; oppure seleziona "Calcola l'hash di ogni riga separatamente" per elaborare in un colpo solo un intero elenco di stringhe.
I file vengono letti dal disco a fette da 4 MB e passati a funzioni di hash in streaming, quindi un'ISO di diversi gigabyte viene verificata senza caricarla in memoria e senza caricare un solo byte online. L'avanzamento viene mostrato e puoi annullare. Un limite da dire onestamente: calcolare un hash in una scheda del browser è più lento che con uno strumento nativo, quindi per un'immagine disco da 50 GB sha256sum o certutil da riga di comando saranno più veloci.
Come si usa
- Scegli Testo, File o HMAC in alto.
- Per il testo, digita o incolla; gli hash si aggiornano mentre scrivi. Per un file, trascinalo nel riquadro o fai clic per sceglierlo.
- Deseleziona gli algoritmi che non ti servono prima di elaborare un file grande; ognuno aggiunge tempo.
- Incolla il checksum dell'editore in "Confronta con il checksum atteso" per ottenere una corrispondenza o una mancata corrispondenza chiara.
- Passa all'output Base64 o esadecimale maiuscolo se il sistema con cui confronti usa quella forma, poi copia.
- Per molti file, selezionali o trascinali insieme: vengono elaborati uno alla volta, e puoi scaricare un .txt in stile sha256sum o un CSV con tutti i checksum.
Domande frequenti
Posso ottenere i checksum di più file insieme?
Sì. Seleziona o trascina fino a 500 file insieme nella scheda File. Vengono elaborati uno dopo l'altro con gli algoritmi selezionati, ciascuno letto in blocchi da 4 MB così l'uso della memoria resta basso, e un file che non si riesce a leggere viene segnato come non riuscito senza bloccare gli altri. Scarica i risultati come .txt nel formato GNU coreutils (lo stesso dell'output di sha256sum, md5sum o sha512sum, quindi verificabile con sha256sum -c) o come CSV con tutti gli algoritmi. Puoi anche incollare un elenco SHA256SUMS esistente per verificare ogni file.
Posso calcolare l'hash di un elenco di stringhe, una per riga?
Sì. Nella scheda Testo, seleziona "Calcola l'hash di ogni riga separatamente". Ogni riga viene elaborata a sé come UTF-8, senza il suo a capo, fino a 5.000 righe, e la tabella si può copiare come testo separato da tabulazioni o scaricare come CSV.
Che differenza c'è tra MD5, SHA-1 e SHA-256?
Sono funzioni di hash con dimensioni di output e livelli di sicurezza diversi. MD5 produce 128 bit e SHA-1 160 bit; entrambe sono violate ai fini della sicurezza, perché i ricercatori riescono a creare due input diversi con lo stesso hash (MD5 dal 2004, SHA-1 pubblicamente dall'attacco SHAttered del 2017). SHA-256 produce 256 bit e non ha attacchi pratici noti. Usa SHA-256 o SHA-512 per tutto ciò che riguarda la sicurezza; MD5 e SHA-1 vanno ancora bene per individuare corruzioni accidentali.
Come verifico il checksum di un file?
Apri la scheda File, trascina il file scaricato e incolla il checksum della pagina di download nel campo di confronto. Una corrispondenza significa che il tuo file è identico byte per byte a quello di cui l'editore ha calcolato l'hash. Assicurati di confrontare cose omogenee: un checksum SHA-256 è lungo 64 caratteri esadecimali, SHA-1 40 e MD5 32. Per una garanzia reale, prendi il checksum via HTTPS dal sito ufficiale, non dallo stesso mirror del file.
Un hash si può invertire o decifrare?
No. Un hash è una funzione unidirezionale: non c'è nessuna chiave e niente da decifrare. Quello che fanno davvero i siti di "decrittazione MD5" è cercare l'hash in tabelle di stringhe comuni già elaborate. Per questo l'hash di una password corta o comune è facile da trovare, e per questo le password vanno memorizzate con un algoritmo lento e con salt come bcrypt o Argon2, mai con un semplice SHA-256.
Perché il mio hash non corrisponde a quello del mio codice?
I byte di input sono diversi, di solito in modo invisibile. Le cause comuni sono un a capo finale (echo ne aggiunge uno; usa echo -n), fine riga CRLF di Windows anziché LF, una codifica del testo diversa da UTF-8, spazi iniziali o finali, oppure il confronto di un digest esadecimale con uno Base64. Gli hash cambiano completamente anche per un solo byte di differenza, quindi controlla il numero di byte mostrato sotto la casella di testo.
Cos'è l'HMAC e quando mi serve?
L'HMAC (RFC 2104) combina una chiave segreta con una funzione di hash per produrre una firma che solo chi possiede la chiave può creare. Provider di webhook come Stripe, GitHub e Shopify firmano i loro payload con HMAC-SHA256, così puoi verificare che una richiesta provenga davvero da loro. Non costruirlo da te come sha256(chiave + messaggio): con SHA-256 quella costruzione è vulnerabile agli attacchi di length extension, che l'HMAC è progettato per prevenire.
Il CRC32 è un hash?
È un checksum, non un hash crittografico. Il CRC32 è velocissimo e bravo a rilevare errori accidentali come un bit invertito durante la trasmissione, ed è per questo che lo usano ZIP, gzip, PNG ed Ethernet. È banale da falsificare di proposito, quindi non usarlo mai per dimostrare che un file non è stato manomesso.
Quale hash usare e per cosa
• Verificare un download rispetto al checksum dell'editore: l'algoritmo che hanno pubblicato, di solito SHA-256.
• Integrità in contesti rilevanti per la sicurezza (Subresource Integrity, lockfile dei pacchetti, firma del codice, certificati): SHA-256 o SHA-384. Gli attributi SRI usano Base64, ed è per questo che esiste il selettore dell'output.
• Firmare una richiesta API o un webhook con un segreto condiviso: HMAC-SHA256.
• Memorizzare password: nessuno di questi. Usa bcrypt, scrypt o Argon2id, che sono volutamente lenti e con salt. Un hash veloce consente a un attaccante di provare miliardi di tentativi al secondo su una GPU.
• Deduplicazione, chiavi di cache, ETag e rilevamento di corruzioni accidentali: MD5, SHA-1 o CRC32 vanno bene e sono veloci, perché nessuno sta cercando di falsificare una collisione.
Come funziona qui l'hash dei file grandi
L'API WebCrypto integrata nel browser può calcolare l'hash solo di un buffer che ha interamente in memoria. Per il testo va bene, e questo strumento la usa. Per un file da 4 GB significherebbe leggere 4 GB nella scheda, cosa che sulla maggior parte dei dispositivi fallisce o manda in crash il browser.
Per questo i file passano per implementazioni in streaming di SHA-1, SHA-256, SHA-384, SHA-512 e CRC32 (e spark-md5 per MD5) che consumano il file 4 MB alla volta, leggendo ogni fetta direttamente dal disco con File.slice. L'uso della memoria resta costante qualunque sia la dimensione del file. Le implementazioni sono testate byte per byte rispetto al modulo crypto di Node basato su OpenSSL, su lunghezze limite e dati casuali.
Su un portatile recente, aspettati indicativamente 150–250 MB al secondo per MD5, SHA-1 o SHA-256, e circa un terzo per SHA-384 e SHA-512, la cui aritmetica a 64 bit JavaScript deve emulare con pezzi a 32 bit. Tutti gli algoritmi selezionati condividono un'unica lettura del file, quindi deselezionare quelli che non ti servono è il modo più semplice per velocizzare.
Leggere un file di checksum
Le distribuzioni Linux e i progetti open source pubblicano file come SHA256SUMS. Ogni riga contiene il digest esadecimale, due spazi e poi il nome del file, cioè il formato prodotto da sha256sum. shasum di macOS usa lo stesso formato; gli strumenti in stile BSD scrivono invece SHA256 (file.iso) = digest.
Puoi incollare nel campo di confronto righe in entrambi gli stili: lo strumento estrae il digest e ignora il resto, così come maiuscole/minuscole, spazi e due punti. Quando un progetto pubblica anche un file di firma (SHA256SUMS.gpg o .sig), è la verifica di quella firma con la chiave del progetto a dimostrare che l'elenco dei checksum stesso non è stato sostituito.
Strumenti gratuiti correlati
- Generatore bcrypt — Calcola l'hash bcrypt di una password con il costo che scegli, verifica una password con un hash bcrypt e scopri cosa significa ogni parte dell'hash.
- Codificatore / decodificatore Base64 — Codifica testo o file in Base64, trasforma immagini in data URI con snippet CSS e <img>, e decodifica Base64 in un file con anteprima. Nulla esce dal tuo browser.
- Generatore di password — Genera una password casuale sicura, una passphrase facile da ricordare o un PIN. Funziona interamente nel browser: nulla viene inviato o salvato.
- Generatore TOTP — Trasforma un segreto Base32 in codici 2FA in tempo reale con conto alla rovescia, crea un codice QR otpauth:// per le app di autenticazione o leggi un URI esistente.