DevBox Strumenti veloci per sviluppatori, senza registrazione

Generatore di Hash

Digita o incolla un testo qui sotto — i quattro hash si aggiornano in tempo reale, calcolati interamente nel tuo browser. Nulla di ciò che inserisci lascia mai questa pagina.

MD5
SHA-1
SHA-256
SHA-512

Quattro algoritmi, un confronto in tempo reale

Una funzione hash prende un input qualsiasi e produce in modo deterministico un'"impronta digitale" di lunghezza fissa — lo stesso input produce sempre lo stesso output, ma non c'è modo di risalire dall'hash al testo originale. MD5 (1992) produce un digest a 128 bit, 32 caratteri esadecimali, ed è il più veloce dei quattro, ma collisioni reali sono note dal 2004. SHA-1 (1995) produce 160 bit, 40 caratteri esadecimali, ed è stato lo standard del web per anni, finché un attacco di collisione pratico nel 2017 non gli ha messo fine. SHA-256 e SHA-512, entrambi parte della più recente famiglia SHA-2, producono digest a 256 e 512 bit (64 e 128 caratteri esadecimali) e restano la scelta standard ogni volta che la sicurezza conta davvero — certificati TLS, firma del codice e la proof-of-work di Bitcoin si basano tutti su SHA-256.

Esempio pratico

Input: Hello, World!

Cambia un solo carattere — una "h" minuscola invece della "H" maiuscola — e tutti e quattro gli output risultano completamente diversi, senza alcuna relazione visibile con gli originali. È l'effetto valanga in azione.

Domande frequenti

MD5 e SHA-1 sono sicuri da usare?

Non per nulla che riguardi la sicurezza. Entrambi sono crittograficamente compromessi: attacchi di collisione pratici (due input diversi che producono lo stesso hash) sono stati dimostrati per MD5 dal 2004 e per SHA-1 dal 2017 (l'attacco "SHAttered"). Questo li rende inadatti a memorizzare password, firme digitali o a verificare che un file non sia stato manomesso da un avversario. Restano invece perfettamente validi per usi non legati alla sicurezza — checksum per rilevare corruzioni accidentali, deduplicare file o generare un'impronta rapida per una chiave di cache. Quando la sicurezza conta davvero, usa SHA-256 o SHA-512.

Qual è la vera differenza tra i quattro algoritmi?

La lunghezza del digest e la sua progettazione. MD5 produce un digest a 128 bit (32 caratteri esadecimali); SHA-1 produce 160 bit (40 caratteri); SHA-256 e SHA-512 appartengono alla più recente famiglia SHA-2 e producono rispettivamente 256 bit (64 caratteri) e 512 bit (128 caratteri). Un digest più lungo significa un numero astronomicamente maggiore di output possibili, ed è in gran parte per questo che SHA-2 ha resistito al tipo di attacchi di collisione che hanno compromesso MD5 e SHA-1. SHA-512 è spesso più veloce di SHA-256 su hardware a 64 bit pur essendo più lungo, perché le sue operazioni interne sono pensate per parole a 64 bit.

Perché cambiare un solo carattere cambia completamente l'hash?

È l'effetto valanga, una proprietà di progettazione deliberata di ogni funzione hash crittografica: cambiare anche un solo bit dell'input dovrebbe far cambiare all'incirca metà dei bit dell'output, senza alcun pattern visibile che colleghi i due risultati. Provalo — genera l'hash di "ciao" e poi di "Ciao" e confrontali. È proprio questo che rende gli hash utili come impronte digitali: uno che cambiasse solo di poco per un input simile rivelerebbe informazioni sull'input stesso.

Il mio testo viene caricato da qualche parte?

No. SHA-1, SHA-256 e SHA-512 passano attraverso l'API Web Crypto integrata nel browser, e MD5 attraverso semplice JavaScript in questa stessa pagina — entrambi i casi avvengono interamente sul tuo dispositivo. Nulla di ciò che scrivi viene inviato, registrato o salvato su un server; chiudere o ricaricare la scheda lo scarta completamente.