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.
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!
- MD5 →
65a8e27d8879283831b664bd8b7f0ad4 - SHA-1 →
0a0a9f2a6772942557ab5355d76af442f8f65e01 -
SHA-256 →
dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f -
SHA-512 →
374d794a95cdcfd8b35993185fef9ba368f160d8daf432d08ba9f1ed1e5abe6cc69291e0fa2fe0006a52570ef18c19def4e617c33ce52ef0a6e5fbe318cb0387
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.