Informatica
Generatore di hash: MD5, SHA-1, SHA-256 e SHA-512
Scrivi un testo o incolla dei byte in esadecimale e ottieni subito le impronte con tutti gli algoritmi più usati. Incolla un hash nel campo di verifica per sapere se corrisponde e con quale algoritmo.
Che cos'è un hash e a che cosa serve
Una funzione di hash trasforma dati di qualsiasi lunghezza in un'impronta di lunghezza fissa: 128 bit per MD5, 256 per SHA-256. Basta cambiare una sola lettera perché l'impronta cambi completamente, ed è impossibile risalire ai dati partendo dall'impronta.
Per questo gli hash servono a verificare che un file scaricato sia integro, a identificare dati senza conservarli, a firmare documenti e, con algoritmi lenti e sale, a memorizzare le password. Git identifica ogni versione con uno SHA-1, Bitcoin si basa su SHA-256.
MD5 e SHA-1 non sono più sicuri: si sanno costruire due file diversi con la stessa impronta. Restano utili per controllare errori di trasmissione, ma per la sicurezza servono SHA-256 o superiori.
Errori frequenti
- Confrontare un hash calcolato su un testo con a capo o spazi in più: basta un carattere invisibile per cambiare tutto.
- Usare MD5 o SHA-256 da soli per salvare password: sono troppo veloci da provare in massa. Servono algoritmi lenti come bcrypt o Argon2.
- Pensare che l'hash si possa decifrare: non è una cifratura. I siti che lo invertono usano solo tabelle di hash già calcolati.
Domande frequenti
Posso risalire al testo partendo dall'hash?
No. Una buona funzione di hash non si inverte; si può solo provare a indovinare il testo e confrontare. Per questo password brevi o comuni vengono trovate comunque.
Come verifico un file scaricato?
Calcola l'hash del file con uno strumento del sistema (sha256sum su Linux, Get-FileHash su Windows) e confrontalo con quello pubblicato. Se anche un solo carattere differisce, il file è diverso.
Perché lo stesso testo dà hash diversi in programmi diversi?
Di solito per la codifica o per i caratteri di fine riga: un testo salvato con CRLF o in Latin-1 ha byte diversi da quello in UTF-8 con LF, e quindi un hash diverso.
Come funziona questo calcolo
Il testo viene prima trasformato in byte con UTF-8. SHA-1, SHA-256, SHA-384 e SHA-512 sono calcolati con l'API Web Crypto del browser, secondo lo standard FIPS 180-4. MD5 segue la RFC 1321: i dati vengono completati fino a un multiplo di 512 bit con la loro lunghezza, poi ogni blocco passa per 64 passaggi di somme, rotazioni e funzioni logiche su quattro parole da 32 bit.
Calcoli collegati
Sicurezza delle password
Entropia in bit e tempo per indovinarla, con gli schemi deboli riconosciuti. Nulla lascia il browser.
Convertitore Base64
Da testo, intero, esadecimale o binario a Base64 e ritorno, con i gruppi di 6 bit spiegati.
Convertitore timestamp Unix
Da timestamp Unix a data e ora, e ritorno: secondi, millisecondi, UTC e ora locale.
Checksum CRC32 e Adler-32
CRC-32, CRC-32C, CRC-16 in quattro varianti, CRC-8, Adler-32 e Fletcher-16 di un testo o di byte esadecimali.