Inserisca del testo o carichi un file per generare hash crittografici.
Trascini un file qui o clicchi per sfogliare
Elaborazione...
Risultati
Confronta
Pubblicità
Informazioni su questo strumento
Le funzioni hash crittografiche sono tra i mattoni fondamentali della moderna sicurezza informatica. Una funzione hash prende un input arbitrario — una password, un file, un intero database — e produce un output a lunghezza fissa chiamato digest.
Questo digest agisce come un'impronta digitale unica: anche una modifica di un singolo bit nell'input produce un hash completamente diverso, una proprietà nota come effetto valanga.
Questo strumento supporta quattro algoritmi ampiamente utilizzati. MD5 (128 bit), pubblicato nel 1992 tramite RFC 1321, è stato progettato da Ronald Rivest ed è diventato onnipresente per i checksum dei file, sebbene gli attacchi di collisione scoperti nel 2004 lo abbiano reso inadatto alla sicurezza.
SHA-1 (160 bit), standardizzato nel 1995 sotto RFC 3174, è stato la spina dorsale dei certificati SSL per quasi due decenni prima che Google dimostrasse una collisione pratica nel progetto SHAttered del 2017.
SHA-256 e SHA-512 appartengono alla famiglia SHA-2, progettata dalla NSA e pubblicata dal NIST nel FIPS 180-4. SHA-256 è il motore dietro il mining di Bitcoin, le firme dei certificati TLS 1.3 e la maggior parte delle verifiche di integrità moderne. SHA-512 fornisce un output di 512 bit ed è marginalmente più veloce su processori a 64 bit grazie al suo stato interno più ampio.
Questo strumento utilizza la Web Crypto API nativa del browser (standard W3C) per gli algoritmi SHA, garantendo prestazioni accelerate dall'hardware senza comunicazione con server. MD5 viene calcolato tramite un'implementazione JavaScript leggera poiché Web Crypto non supporta algoritmi deprecati.
L'intera elaborazione avviene nel Suo browser — i Suoi dati non lasciano mai il Suo dispositivo.
Una funzione hash crittografica deve soddisfare tre proprietà fondamentali per essere considerata sicura. Primo, resistenza alla preimmagine: dato un hash di output H, deve essere computazionalmente impossibile trovare un input M tale che hash(M) = H. Secondo, resistenza alla seconda preimmagine: dato un input M1, deve essere impossibile trovare un input diverso M2 dove hash(M1) = hash(M2). Terzo, resistenza alle collisioni: deve essere impossibile trovare due input distinti che producano lo stesso hash.
Queste proprietà si basano sulla struttura matematica della funzione di compressione al cuore di ogni algoritmo. SHA-256, ad esempio, elabora l'input in blocchi da 512 bit attraverso 64 round di operazioni bitwise, addizione modulare e funzioni logiche (Ch, Maj, Sigma) che creano una dipendenza complessa tra ogni bit di input e ogni bit di output. Questa diffusione garantisce che invertire un singolo bit si propaga in modo imprevedibile attraverso l'intero digest — l'effetto valanga.
Il paradosso del compleanno governa la probabilità di collisione. Per un hash con output di n bit, una ricerca di collisione brute-force richiede circa 2^(n/2) operazioni. Ciò significa che MD5 (128 bit) può essere attaccato con circa 2^64 operazioni — fattibile con hardware moderno — mentre SHA-256 richiede 2^128 operazioni, ben oltre la portata di qualsiasi tecnologia informatica prevedibile, inclusi i computer quantistici con l'algoritmo di Grover.
Le funzioni hash moderne sono anche progettate per resistere agli attacchi di estensione della lunghezza. SHA-256 e SHA-512 sono vulnerabili nella loro forma grezza, motivo per cui protocolli come HMAC avvolgono l'hash con padding di chiave interno ed esterno. SHA-3, il più recente standard NIST basato sulla costruzione spugna Keccak, resiste intrinsecamente all'estensione della lunghezza, ma SHA-2 rimane dominante nella pratica grazie al suo comprovato record di sicurezza e ampio supporto hardware.
Come usare
Inserisca del testo o carichi un file e selezioni quali algoritmi di hash generare (MD5, SHA-1, SHA-256, SHA-512).
Clicchi su 'Genera hash' per calcolare i digest crittografici. Scelga il formato di output Hex o Base64.
Copia i singoli hash o incolla un hash previsto in Confronta per verificare l'integrità del file. Verde significa corrispondenza.
Metodologia
Questo strumento delega i calcoli SHA alla Web Crypto API nativa del browser, che sfrutta le istruzioni con accelerazione hardware (come Intel SHA Extensions o ARM Cryptography Extensions) quando disponibili sulla CPU. Ciò significa che l'hashing SHA-256 e SHA-512 viene eseguito a velocità quasi nativa senza overhead JavaScript per il calcolo principale.
MD5 viene calcolato tramite un'implementazione JavaScript pura perché la specifica Web Crypto esclude intenzionalmente gli algoritmi deprecati. Per l'hashing dei file, lo strumento legge i dati in blocchi streaming usando l'API FileReader, prevenendo l'esaurimento della memoria su file multi-gigabyte mostrando al contempo il progresso in tempo reale.
Ogni algoritmo produce un digest deterministico a lunghezza fissa: MD5 produce 128 bit (32 caratteri hex), SHA-1 produce 160 bit (40 caratteri hex), SHA-256 produce 256 bit (64 caratteri hex), SHA-384 produce 384 bit (96 caratteri hex) e SHA-512 produce 512 bit (128 caratteri hex). Lo stesso input produce sempre lo stesso output indipendentemente dalla piattaforma, ed è per questo che gli hash fungono da impronte digitali universali dei dati.
L'output può essere visualizzato in esadecimale (minuscolo o maiuscolo) o codifica Base64.
Capire i tuoi risultati
Nella scelta di un algoritmo, considera il contesto di sicurezza. SHA-256 è l'attuale standard industriale per le applicazioni sensibili alla sicurezza — viene utilizzato nei certificati TLS, nella firma del codice e nella validazione blockchain. SHA-512 offre un digest più grande e può essere più veloce su hardware a 64 bit, rendendolo una scelta solida per ambienti ad alta sicurezza.
MD5 e SHA-1, sebbene crittograficamente compromessi per la resistenza alle collisioni, rimangono accettabili per checksum non avversariali come la verifica dei download.
Per verificare l'integrità, confronta l'hash generato con il valore atteso carattere per carattere. Anche una singola differenza significa che i dati sono stati alterati. Gli hash sono funzioni strettamente unidirezionali — non esiste un metodo matematico per invertire un hash e risalire all'input originale. Ecco perché gli hash vengono usati per l'archiviazione delle password: il server memorizza solo il digest, mai la password in chiaro.
Per l'hashing delle password nei sistemi di produzione, usa funzioni dedicate come bcrypt, scrypt o Argon2, che aggiungono salting e lentezza deliberata per resistere agli attacchi brute-force. SHA-256 da solo è troppo veloce per l'archiviazione delle password.
Esempi pratici
Un distributore di software pubblica un checksum SHA-256 insieme al download dell'installer. Dopo aver scaricato il file da 800 MB, lo trascini in questo strumento, selezioni SHA-256 e incolli l'hash pubblicato nel campo Confronta. Un indicatore verde conferma che il file non è stato corrotto o manomesso durante il trasferimento.
Uno sviluppatore invia una modifica di configurazione e vuole confermare che due server hanno ricevuto file identici. L'hashing di entrambe le copie con SHA-256 produce lo stesso digest di 64 caratteri, dimostrando l'equivalenza byte per byte senza trasferire nuovamente i file.
Un analista forense calcola l'hash di un'immagine disco con SHA-512 prima e dopo l'esame per dimostrare che le prove non sono state alterate durante l'analisi — un requisito standard nei procedimenti di informatica forense.
Consigli & Buone Pratiche
Usi sempre SHA-256 o superiore per qualsiasi cosa legata alla sicurezza. MD5 e SHA-1 vanno bene per checksum rapidi — rilevare corruzione accidentale — ma non devono mai essere considerati affidabili dove un avversario potrebbe creare collisioni.
Quando verifica software scaricato, copi l'hash atteso direttamente dal sito ufficiale dello sviluppatore anziché dal mirror di download. Lo incolli nel campo Confronta per un indicatore istantaneo di corrispondenza.
Per l'archiviazione delle password, non faccia mai l'hash delle password con SHA-256 grezzo da solo. Usi una funzione di derivazione chiave dedicata (bcrypt, scrypt, Argon2) che incorpora un salt unico è un fattore di lavoro regolabile. Questo strumento è ideale per comprendere i concetti di hashing, ma l'autenticazione in produzione richiede librerie specializzate.
Quando fa l'hash di file, si assicuri che il file sia completamente scaricato prima di generare l'hash. I download parziali produrranno un hash valido che semplicemente non corrisponderà al valore atteso.
MD5 (128 bit) è veloce ma crittograficamente compromesso — usalo solo per i checksum, non per la sicurezza. Anche SHA-1 (160 bit) è deprecato per la sicurezza. SHA-256 (256 bit) è lo standard attuale per le applicazioni di sicurezza. SHA-512 (512 bit) offre la massima sicurezza ma è più lento. Per la maggior parte degli scopi, si consiglia SHA-256.
Come verifico l'integrità di un file?
Carichi il Suo file e generi un hash usando lo stesso algoritmo del checksum originale (di solito SHA-256 o MD5). Poi incolli l'hash previsto nel campo Confronta. Se corrispondono, il Suo file è identico all'originale. Questo metodo viene comunemente usato per verificare che il software scaricato non sia stato manomesso.
Posso generare hash di file di grandi dimensioni?
Sì! Lo strumento elabora i file a blocchi tramite streaming, quindi può gestire file di qualsiasi dimensione senza esaurire la memoria. I file di grandi dimensioni potrebbero richiedere più tempo e vedrà un indicatore di avanzamento. Tutta l'elaborazione avviene localmente nel Suo browser — il file non viene mai caricato da nessuna parte.
Qual è la differenza tra output Hex e Base64?
Esadecimale (Hex) mostra l'hash come coppie di caratteri (0-9, a-f), il formato più comune per i checksum e facile da confrontare visivamente. La codifica Base64 è più compatta (circa il 33% più corta) e viene spesso usata nelle API, nei data URI e per incorporare hash nel codice o nei file di configurazione.
I miei dati restano privati durante la generazione degli hash?
Sì. Tutto l'hashing viene eseguito localmente nel Suo browser utilizzando la Web Crypto API (uno standard W3C integrato nei browser moderni). Nessun dato — testo o file — viene mai trasmesso a nessun server. Questo rende lo strumento sicuro per l'hashing di documenti sensibili, password o file proprietari senza preoccupazioni per la privacy.
Posso invertire un hash per ottenere i dati originali?
No. Le funzioni hash crittografiche come SHA-256 sono operazioni unidirezionali per progettazione — è computazionalmente impossibile ricostruire l'input originale da un output hash. Questo è ciò che rende gli hash utili per l'archiviazione delle password e la verifica dell'integrità dei dati. Per verificare i dati, genera l'hash del nuovo input e confrontalo con l'hash memorizzato.
I miei preferiti
Trascina per riordinare
Ancora nessun preferito
Tocca la ☆ su qualsiasi strumento per aggiungerlo ai preferiti.