Hash
Generatore di hash
Genera hash MD5, SHA-1, SHA-256 e SHA-512.
Informazioni sull'hashing
Una funzione di hash prende qualsiasi input e produce un'impronta di lunghezza fissa. Lo stesso input produce sempre lo stesso hash, ma un hash non può essere invertito per tornare ai dati originali, e anche un solo carattere modificato nell'input cambia completamente l'output.
L'hash di un testo dipende dai suoi byte esatti, non solo dai suoi caratteri — la stessa stringa codificata in UTF-8 rispetto a UTF-16 produce due hash completamente diversi, anche se chi legge entrambi vedrebbe un testo identico. È per questo che gli strumenti di hashing dei file lavorano su byte grezzi anziché su "testo": non c'è ambiguità da risolvere. Quando fai l'hash di un testo incollato qui, viene prima codificato in UTF-8, che è anche ciò che presuppone quasi ogni checksum con cui lo confronterai, ma vale la pena sapere che questa ipotesi esiste.
Dove lo incontrerai
- Verificare che un file scaricato corrisponda al checksum pubblicato dall'editore
- Confrontare due file per verificarne l'uguaglianza senza confrontare l'intero contenuto
- Generare chiavi per il cache-busting o identificatori indirizzati per contenuto
- Verificare l'integrità dei dati dopo un trasferimento o un backup
Domande frequenti
MD5 o SHA-1 sono sicuri per le password?
No. Entrambi sono compromessi per scopi di sicurezza — usa invece un algoritmo di hashing dedicato alle password come bcrypt o Argon2. Questi sono hash generici, non hash per password.
Quale algoritmo dovrei usare?
Per i controlli di integrità, SHA-256 o SHA-512 sono lo standard attuale. MD5 e SHA-1 sono ancora comuni per la verifica di checksum legacy, ma non dovrebbero essere usati per la sicurezza.
I miei file caricati vengono memorizzati?
No. I file vengono sottoposti a hash sul server solo per quella richiesta e poi scartati.
Perché fare l'hash dello stesso testo dà un risultato diverso altrove?
La causa più comune è la codifica dei caratteri: un testo dall'aspetto identico produce una sequenza di byte diversa, e quindi un hash diverso, a seconda che sia codificato in UTF-8, UTF-16 o altro. Anche uno spazio finale o una convenzione diversa per la fine riga (\n rispetto a \r\n) cambia i byte in modo invisibile. Questo strumento fa l'hash del testo incollato come UTF-8; se il tuo valore di confronto proviene da una codifica diversa, la discrepanza è attesa, non un bug.