Calcolo hash — checksum per testi e file

Calcola l'impronta di una stringa o di un intero file con tutti gli algoritmi comuni in una volta sola, e confronta due valori per capire se un download è arrivato integro. I file grandi vengono letti direttamente dal disco e non vengono mai caricati.

Il tuo file viene elaborato dal tuo browser. Niente viene caricato, salvato o registrato.

Un hash è l'impronta a lunghezza fissa di un insieme di dati. Cambia un solo bit dell'input e il risultato cambia completamente: è questo che rende gli hash il modo standard per verificare che un file scaricato sia esattamente il file che è stato pubblicato.

Caricare un file su un sito solo per ottenerne il checksum vanifica lo scopo ed è lento per qualsiasi file di dimensioni serie. Qui il file viene letto direttamente dal tuo disco nel browser e calcolato in memoria. Gli algoritmi SHA usano il WebCrypto nativo del browser e quindi vanno a piena velocità; MD5 e CRC32 sono implementati in JavaScript perché i browser, di proposito, non offrono MD5.

Come si usa questo strumento

  1. Per un testo, scrivi o incolla nella scheda testo. Tutti e sei gli hash si aggiornano mentre digiti.
  2. Cambia la codifica di input se il tuo testo è in esadecimale o base64 invece che in semplice UTF-8: i byte calcolati sono diversi, quindi lo è anche il risultato.
  3. Per un file, passa alla scheda file e trascinalo dentro. Niente viene caricato; i file grandi richiedono solo un attimo di lettura.
  4. Copia il valore che ti serve con il pulsante accanto a ciascun algoritmo.
  5. Per controllare un download usa la scheda confronto: incolla il checksum pubblicato e quello che hai calcolato. Maiuscole e spazi vengono ignorati.

Esempio pratico

Verificare una ISO scaricata

Un progetto pubblica un checksum SHA-256 accanto al suo installer. Trascini il file scaricato nella scheda file, copi il valore SHA-256 e incolli entrambi nella scheda confronto. Se corrispondono, il file è identico byte per byte a quello pubblicato; se non corrispondono, il download è corrotto o c'è qualcosa di peggio.

Accorgersi che un file è cambiato in silenzio

Conservi lo SHA-256 di un file di configurazione. Mesi dopo lo ricalcoli e i valori sono diversi: qualcosa l'ha modificato, anche se la data di modifica sembra plausibile.

Quando serve

  • Controllare che un download di grandi dimensioni sia arrivato senza corruzioni
  • Verificare un file rispetto al checksum pubblicato dall'autore
  • Confermare che due copie di un file in posti diversi siano identiche
  • Produrre un checksum da pubblicare insieme a un rilascio
  • Confrontare un hash preso da un log o da un ticket con quello che calcoli tu
  • Generare un'impronta stabile per un pezzo di testo

Errori comuni

  • Usare MD5 o SHA-1 per la sicurezza — Entrambi sono compromessi rispetto alle collisioni intenzionali. Vanno bene per individuare corruzioni accidentali e nient'altro: usa SHA-256 quando ci può essere di mezzo un attaccante.
  • Calcolare l'hash di una password — Gli hash semplici sono troppo veloci per le password. Usa bcrypt, scrypt o Argon2 con un salt per utente; un SHA-256 grezzo di una password si può forzare a velocità enorme.
  • Ignorare la codifica — Lo stesso testo visibile in UTF-8 e in UTF-16 è una sequenza di byte diversa e dà un hash diverso. Lo stesso vale per un a capo finale.
  • Fidarsi di un checksum pubblicato sulla stessa pagina del file — Se un attaccante può sostituire il download, può sostituire anche il checksum lì accanto. Un checksum ha senso solo se arriva da un canale indipendente.

Domande frequenti

Il mio file viene caricato per calcolare l'hash?

No. Il browser legge il file dal tuo disco in memoria e lo calcola lì. Non viene trasmesso nulla, quindi anche file da diversi gigabyte si gestiscono senza un caricamento lento.

Quale algoritmo conviene usare?

SHA-256 per tutto ciò che conta. MD5 e CRC32 sono ancora molto pubblicati per i controlli di corruzione e sono inclusi per questo, ma su nessuno dei due si deve fare affidamento dove qualcuno potrebbe cercare di produrre una collisione di proposito.

Perché qui MD5 è più lento di SHA-256?

I browser offrono SHA-1, SHA-256, SHA-384 e SHA-512 in modo nativo attraverso WebCrypto, quindi quelli girano come codice compilato. MD5 è escluso di proposito da quell'interfaccia, per cui è implementato in JavaScript.

Il checksum non corrisponde: e adesso?

Scarica di nuovo il file; un trasferimento interrotto è la causa più comune. Se anche un download fresco non corrisponde, controlla di stare confrontando lo stesso algoritmo: un valore SHA-256 ha 64 caratteri esadecimali, MD5 ne ha 32. Se continua a non tornare, non eseguire il file.

Posso calcolare l'hash di più file insieme?

Uno alla volta nella scheda file. Calcolali uno per uno e confronta i valori che ti servono.

CRC32 è un hash?

In senso stretto è un checksum pensato per intercettare errori di trasmissione, non un hash crittografico. È veloce e compare negli archivi ZIP e nei protocolli di rete, ma è banale da falsificare e non va mai usato per l'integrità contro un attaccante.

Ultimo aggiornamento 2026-09-15