§

Incolla il testo o trascina un file per calcolarne l'hash

Codifica
§

Generatore di hash — SHA-256, MD5, SHA-1 online

Tutti e quattro i digest vengono calcolati localmente nel tuo browser. Nulla viene caricato.
§

MD5

Deprecato
§

SHA-1

Deprecato
§

SHA-256

§

SHA-512

Le Linee Guida AgID per la sicurezza nel procurement ICT della Pubblica Amministrazione impongono SHA-256 come digest minimo per le firme digitali CAdES e PAdES, e SHA-1 e MD5 sono ormai vietati per qualsiasi firma qualificata depositata in Conservazione Digitale a norma. Per gli sviluppatori italiani il generatore è quotidiano: verificare il digest di un file XML di Fatturazione Elettronica prima di inviarlo allo SDI, calcolare il fingerprint SHA-512 di un backup PEC archiviato presso Aruba o Namirial, controllare l'integrità di un pacchetto di distribuzione caricato sul Catalogo Software Open Source di Developers Italia. Anche i checksum dei rilasci AlmaLinux mirror GARR e dei pacchetti DEB delle distro italiane Linux Mint Italia si validano con SHA-256.

Che cos’è un hash crittografico?

Una funzione di hash crittografica prende in input dati di lunghezza arbitraria e produce un digest di lunghezza fissa. Lo stesso input produce sempre lo stesso digest; cambiare un singolo bit modifica circa la metà dei bit di output. Questo strumento calcola quattro dei digest più diffusi — MD5 (RFC 1321), SHA-1, SHA-256 e SHA-512 (la famiglia SHA è definita da FIPS 180-4) — per qualsiasi testo o file tu fornisca, senza mai inviare i dati fuori dal tuo dispositivo.

Come funziona questo generatore di hash?

L'hashing viene eseguito interamente sulla tua macchina. SHA-1, SHA-256 e SHA-512 vengono delegati all'API nativa del browser crypto.subtle.digest; MD5 utilizza un'implementazione di pubblico dominio inclusa nel bundle perché Web Crypto non fornisce MD5. I passaggi sono:

  1. Il tuo input viene letto dall'area di testo, oppure il file viene letto dal disco in un ArrayBuffer. Il testo viene codificato in UTF-8 prima dell'hashing, così il digest corrisponde a quello che produrrebbe una chiamata lato server come hashlib.sha256(text.encode()).
  2. Ogni algoritmo aggiunge padding al messaggio fino al confine di blocco e lo elabora blocco per blocco, mescolando i byte di input con lo stato interno corrente attraverso una sequenza di operazioni bit a bit e di aritmetica modulare.
  3. Quando viene consumato l'ultimo blocco lo stato interno viene finalizzato: MD5 produce 128 bit, SHA-1 produce 160 bit, SHA-256 produce 256 bit e SHA-512 produce 512 bit.
  4. I byte grezzi del digest vengono formattati come esadecimale minuscolo o come Base64 standard, a seconda della codifica selezionata sopra i pannelli.
  5. Ogni digest viene scritto nella propria area di testo in sola lettura con un pulsante Copia. Attivando la modalità Live l'hash viene ricalcolato a ogni battitura, così puoi osservare l'effetto valanga in tempo reale.

Quale algoritmo di hash dovrei usare?

I quattro algoritmi presenti qui coprono l'intero spettro, dai checksum legacy alle raccomandazioni crittografiche attuali. Scegli in base al lavoro, non alla familiarità:

  • MD5 (128 bit) — veloce e onnipresente, ma crittograficamente compromesso. Le collisioni pratiche sono pubbliche dal 2004. Usalo solo per checksum non legati alla sicurezza: chiavi di deduplicazione, cache buster, fingerprint in stile ETag e verifica dell'integrità di file rispetto a un catalogo affidabile.
  • SHA-1 (160 bit) — anch'esso deprecato per la sicurezza. L'attacco SHAttered ha mostrato una collisione pubblica su PDF nel 2017. Si trova ancora negli ID degli oggetti Git legacy, nei vecchi certificati TLS e nelle costruzioni HMAC dove la rottura della funzione hash sottostante non rivela ancora la chiave. Non adottarlo per nuovi progetti.
  • SHA-256 (256 bit) — l'attuale default generico. Usato nei fingerprint dei certificati TLS, negli hash dei blocchi Bitcoin, nei checksum dei rilasci software, nei digest delle immagini container e nella maggior parte delle pipeline moderne di code signing. Scegli questo nel dubbio.
  • SHA-512 (512 bit) — stessa famiglia SHA-2 di SHA-256 ma con uno stato interno più ampio e parole a 64 bit. Spesso più veloce di SHA-256 su CPU a 64 bit e scelta preferita quando hai bisogno di un margine maggiore contro le collisioni o di digest più lunghi per chiavi HMAC.

Perché usare questo generatore di hash?

  • Privacy: ogni byte di input viene sottoposto ad hashing localmente nel tuo browser. Nessun caricamento di file, nessun round-trip di rete, nessun log lato server. Il selettore di file legge direttamente dal disco tramite l'API File.
  • Quattro digest in un solo passaggio: incolla una sola volta e leggi MD5, SHA-1, SHA-256 e SHA-512 fianco a fianco, alternando la codifica di output tra esadecimale e Base64 senza ricalcolare l'hash.
  • Output conforme agli standard: la famiglia SHA è delegata a crypto.subtle.digest, che è la stessa implementazione FIPS 180-4 di cui il tuo sistema operativo si fida già. MD5 segue la RFC 1321 byte per byte.
  • Costruito per il lavoro di verifica: la modalità live mostra l'effetto valanga mentre digiti; il pannello file gestisce binari fino alla memoria che la scheda può contenere, così puoi verificare archivi di rilascio senza terminale.

Quali sono le applicazioni comuni delle funzioni hash?

Gli hash compaiono nel lavoro di ingegneria di tutti i giorni:

  • Verifica dei download: confrontare il digest SHA-256 di un archivio di rilascio con il valore pubblicato sul sito del progetto per confermare che non sia stato manomesso in transito.
  • Debug delle integrazioni: riprodurre l'esatto MD5 o SHA-256 che un servizio partner si aspetta in una firma di richiesta, così da individuare l'errore off-by-one nel tuo costruttore di stringa canonica.
  • Content addressing: generare un ID deterministico da un payload da usare come chiave di cache, marcatore di deduplicazione o identificatore di oggetto in stile Git.

Com’è fatto un esempio di hash?

Calcolando l'hash della stringa ASCII hello si ottiene 5d41402abc4b2a76b9719d911017c592 come MD5, aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d come SHA-1, 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 come SHA-256 e una stringa esadecimale di 128 caratteri che inizia con 9b71d224bd62f3785d96d46ad3ea3d73... come SHA-512. Aggiungendo un singolo spazio finale e ricalcolando l'hash, ogni digest cambia in modo irriconoscibile.

Questo generatore di hash funziona interamente nel tuo browser sulle stesse primitive di cui il tuo sistema operativo si fida già: Web Crypto per la famiglia SHA e una piccola routine MD5 verificata per l'unico digest che Web Crypto non fornisce. Incolla, trascina un file, copia un digest — nient'altro lascia la scheda.