Un generatore di hash calcola un *hash*, cioè un'impronta breve e di lunghezza fissa di un input. L'impronta cambia drasticamente anche per un solo carattere di differenza, per questo gli hash servono a verificare l'integrità dei file, a controllare se due valori sono uguali senza confrontarli per intero, a costruire sistemi indirizzati per contenuto (Git usa SHA-1/SHA-256) e come mattoni di protocolli di sicurezza più grandi.
Una buona funzione di hash crittografica ha tre proprietà: è *deterministica* (stesso input → stesso hash), *unidirezionale* (non puoi risalire all'input dall'hash) e *resistente alle collisioni* (è impraticabile trovare due input con lo stesso hash). Gli algoritmi moderni come SHA-256 e SHA-512 le soddisfano tutte e tre; quelli più vecchi come MD5 e SHA-1 sono *compromessi* e non vanno usati per confronti legati alla sicurezza.
L'hashing *non* è crittografia. La crittografia è reversibile con una chiave; l'hashing è unidirezionale per progettazione. L'hashing *non* è nemmeno un sistema per salvare le password: le password richiedono un *hash per password* come bcrypt, scrypt o Argon2, che rende di proposito costoso l'attacco a forza bruta.
Cosa imparerai generando hash
Una funzione di hash trasforma qualsiasi input, corto o lungo, in un output di lunghezza fissa (per esempio SHA-256 produce sempre 256 bit = 64 caratteri esadecimali).
Lo stesso input produce sempre lo stesso hash. Anche la modifica di un solo bit produce un hash completamente diverso (l'*effetto valanga*).
MD5 e SHA-1 non sono più resistenti alle collisioni: vanno bene per checksum non legati alla sicurezza, ma non per firme, certificati o qualsiasi cosa che riguardi la fiducia.
Non salvare le password con un semplice SHA-256. Usa un hash per password (bcrypt, scrypt, Argon2) che include un salt ed è volutamente lento.
Come generare un hash passo dopo passo
1
Incolla il tuo input
Incolla qualsiasi testo: una stringa, un frammento JSON, una chiave di licenza. L'hash si aggiorna mentre scrivi.
2
Scegli l'algoritmo
Scegli MD5, SHA-1, SHA-256, SHA-384 o SHA-512. SHA-256 è la scelta predefinita più sicura per checksum di uso generale.
3
Leggi il risultato
L'hash viene mostrato in esadecimale minuscolo. Passa al maiuscolo o copia il valore negli appunti.
4
Confronta due hash se serve
Incolla un hash noto (da una pagina di download, da un commit Git, da un file di checksum) e lo strumento ti dirà se il tuo corrisponde.
Riferimento rapido degli algoritmi di hash
Gli algoritmi che vedrai più spesso, con la dimensione dell'output e il livello di sicurezza attuale. SHA-1 è specificato nella RFC 3174; la famiglia SHA-2 è in NIST FIPS 180-4.
Algoritmo
Dimensione output
Stato / dove lo trovi
MD5
128 bit / 32 caratteri hex
Compromesso: va bene solo per checksum non di sicurezza
SHA-1
160 bit / 40 caratteri hex
Compromesso: solo cronologia Git e sistemi legacy
SHA-256
256 bit / 64 caratteri hex
Standard: TLS, Git moderno, blockchain
SHA-384
384 bit / 96 caratteri hex
Usato nelle suite TLS che preferiscono la famiglia SHA-2
SHA-512
512 bit / 128 caratteri hex
Robusto: a volte più veloce di SHA-256 su hardware a 64 bit
bcrypt / scrypt / Argon2
variabile
Hash per *password*: usa questi per le password, non SHA-x
Calcola lo SHA-256 del file che hai scaricato e confrontalo con il valore dell'editore. Se corrispondono, il file non si è corrotto durante il trasferimento e non è stato manomesso.
I download di immagini di sistemi operativi, runtime di linguaggi e release firmate pubblicano di solito uno SHA-256 accanto al file. Controllalo sempre prima di installare.
MD5 per la deduplicazione non legata alla sicurezza
Input
user@example.com
MD5
b58996c504c5638798eb6b511e6f49af
Gravatar usa MD5(email) come chiave dell'avatar. Per questo MD5 va bene, perché è un identificativo non segreto, ma non usarlo mai dove contano le collisioni o gli attacchi di preimmagine.
Errori comuni con gli hash
Salvare le password degli utenti con un semplice SHA-256. Usa un hash per password (bcrypt, scrypt, Argon2) con un salt per ogni utente e un fattore di costo voluto.
Fidarsi di MD5 o SHA-1 per confronti legati alla sicurezza nel 2026. Sono entrambi compromessi: calcolare collisioni è ormai alla portata di tutti.
Confrontare un hash esadecimale con == dopo aver modificato una delle stringhe. Togli gli spazi e uniforma maiuscole e minuscole prima del confronto.
Dimenticare che lo stesso input produce *sempre* lo stesso hash: è proprio questo il punto. Non fare "hash due volte" aspettandoti più casualità; otterrai solo un secondo hash deterministico.
Usare un hash quando in realtà serve la crittografia. Gli hash sono unidirezionali e non si possono invertire.
Domande frequenti sul generatore di hash
Cos'è una funzione di hash?
Una funzione di hash prende un input di qualsiasi lunghezza e produce un output di lunghezza fissa chiamato hash. Lo stesso input produce sempre lo stesso hash; anche una minima modifica all'input produce un hash completamente diverso.
MD5 è ancora sicuro da usare?
MD5 è compromesso per gli scopi crittografici: trovare collisioni è facile. Resta accettabile per checksum non legati alla sicurezza (deduplicazione di file, chiavi di cache, Gravatar) ma mai per firme, certificati o salvataggio di password.
Che differenza c'è tra SHA-256 e SHA-512?
Fanno entrambi parte della famiglia SHA-2. SHA-256 produce un output di 256 bit; SHA-512 un output di 512 bit. SHA-512 può essere addirittura più veloce su hardware a 64 bit. Oggi SHA-256 è la scelta predefinita più comune nei protocolli.
Come faccio l'hash di una password?
Non usare direttamente SHA-256. Usa un hash per password pensato apposta, bcrypt, scrypt o Argon2, con un salt per ogni utente e un fattore di costo regolabile. Sono volutamente lenti per rendere costosi gli attacchi a forza bruta.
Posso invertire un hash?
No, le funzioni di hash sono unidirezionali per progettazione. L'unico modo per recuperare l'originale è provare input e controllare se il loro hash corrisponde. Ecco perché salt e hashing lento sono importanti per le password.
Questi hash vengono generati in locale?
Sì. Il generatore di hash di Coddy usa la Web Crypto API nel tuo browser. Il tuo input non lascia mai il tuo computer.