Skip to content

Generatore Hash MD5 e Strumento Checksum File

Genera hash MD5, SHA-256, SHA-1 e SHA-512 online gratis. Calcola l'hash di testo o file nel browser, verifica checksum e copia i risultati. Senza registrazione.

Niente tracciamento Funziona nel browser Gratuito
Tutto l'hashing viene eseguito localmente nel tuo browser. Nessun dato viene trasmesso a un server.
Algoritmo
Revisionato per la correttezza degli algoritmi hash rispetto ai vettori di test RFC — Team di Ingegneria Go Tools · Mar 22, 2026

Cos'è un Generatore di Hash MD5?

MD5 (Message-Digest Algorithm 5) è una funzione hash crittografica a 128 bit progettata da Ronald Rivest nel 1991 (RFC 1321), che produce un'impronta esadecimale fissa di 32 caratteri a partire da qualsiasi input. Un tempo ampiamente impiegato per firme digitali e validazione dei certificati, oggi MD5 è ufficialmente deprecato per usi sensibili alla sicurezza — ma rimane comune per checksum non critici, chiavi di cache e deduplica dei dati.

"MD5 non deve essere usato per le firme digitali... NIST sta formalmente deprecando l'uso di MD5." — NIST SP 800-131A

Questo strumento supporta MD5 insieme a SHA-1 (40 caratteri hex), SHA-256 (64 caratteri hex), SHA-384 (96 caratteri hex) e SHA-512 (128 caratteri hex). NIST ha deprecato MD5 per usi di sicurezza nel 2011 (NIST SP 800-131A); per qualsiasi applicazione sensibile alla sicurezza, usa invece SHA-256 o SHA-512.

Le funzioni hash sono a senso unico: puoi calcolare un hash a partire dall'input, ma non puoi invertirlo per recuperare i dati originali. Questo le rende utili per verificare l'integrità dei file, generare checksum e creare identificatori univoci.

Importante: MD5 e SHA-1 sono crittograficamente compromessi e NON dovrebbero essere usati per scopi di sicurezza come l'hashing delle password o le firme digitali. Per la memorizzazione delle password, usa bcrypt, scrypt o Argon2.

Tutto l'hashing viene eseguito interamente nel tuo browser tramite la Web Crypto API (per la famiglia SHA) e un'implementazione pura in JavaScript (per MD5). Nessun dato lascia il tuo dispositivo — puoi verificarlo controllando la scheda Network del browser. Per un confronto dettagliato tra MD5, SHA-1, SHA-256 e SHA-512 — incluso quando ciascun algoritmo è appropriato e gli errori comuni da evitare — leggi la nostra guida al confronto tra algoritmi hash MD5 e SHA-256. Per indicazioni più ampie sulla sicurezza, comprese memorizzazione delle password e autenticazione, consulta la guida alle best practice di sicurezza web.

// Hash text using Web Crypto API (SHA-256)
async function sha256(text) {
  const data = new TextEncoder().encode(text);
  const hash = await crypto.subtle.digest('SHA-256', data);
  return Array.from(new Uint8Array(hash))
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');
}

await sha256('Hello, World!');
// → 'dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f'

Caratteristiche Principali

5 Algoritmi Hash

Supporta MD5, SHA-1, SHA-256, SHA-384 e SHA-512 — tutti in un unico strumento. Cambia algoritmo con un solo clic e confronta gli output all'istante.

Hash di Testo e File

Calcola l'hash di qualsiasi testo o carica file direttamente. Trascinamento supportato. Perfetto per verificare l'integrità dei file e generare checksum.

100% nel Browser

Tutti i calcoli avvengono localmente tramite la Web Crypto API. Nessun dato viene inviato a un server — i tuoi file e testi restano totalmente privati.

Risultati Istantanei

Ottieni gli hash in pochi millisecondi. Copia negli appunti con un clic. Alterna tra output hex in maiuscolo e minuscolo.

Confronto tra Algoritmi Hash

MD5

128 bit / 32 hex

Algoritmo hash più veloce ma crittograficamente compromesso dal 2004. Adatto solo a checksum non critici, chiavi di cache e deduplica. Non usarlo per password o firme digitali.

SHA-1

160 bit / 40 hex

Anche questo crittograficamente compromesso — Google ha dimostrato una collisione pratica nel 2017. Deprecato da tutti i principali browser e dalle autorità di certificazione. Usalo solo per compatibilità con sistemi legacy.

SHA-256

256 bit / 64 hex

Standard industriale attuale per l'hashing sicuro. Usato nei certificati TLS, in Bitcoin e nella verifica dell'integrità dei file. Raccomandato per la maggior parte dei nuovi progetti che richiedono funzioni hash crittografiche.

SHA-512

512 bit / 128 hex

Opzione più forte della famiglia SHA-2. In realtà più veloce di SHA-256 su processori a 64 bit. Usato in applicazioni ad alta sicurezza, chiavi SSH e protocolli come TLS 1.3.

Esempi

Hash MD5 di una Stringa Vuota

(empty string)
d41d8cd98f00b204e9800998ecf8427e

MD5('') = d41d8cd98f00b204e9800998ecf8427e. L'hash MD5 di un input vuoto è una costante ben nota, utile per i test.

SHA-256 di 'Hello, World!'

Hello, World!
dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f

SHA-256('Hello, World!') = dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f. SHA-256 produce una stringa esadecimale di 64 caratteri.

Checksum MD5 di un File

ubuntu-24.04-desktop-amd64.iso
(compare against the publisher's checksum)

Usa la scheda File per calcolare il checksum MD5 di un file. Confronta questo hash con il checksum fornito dal distributore per verificare che il file non sia stato manomesso durante il download.

Come Usare

  1. 1

    Scegli la Modalità di Input

    Seleziona la scheda Testo per calcolare l'hash di un testo, oppure la scheda File per calcolare l'hash di un file dal tuo dispositivo.

  2. 2

    Inserisci i Dati

    In modalità Testo, digita o incolla il contenuto. In modalità File, trascina un file o clicca sull'area di upload per sfogliare.

  3. 3

    Seleziona l'Algoritmo

    Scegli tra MD5, SHA-1, SHA-256, SHA-384 o SHA-512. MD5 è selezionato di default.

  4. 4

    Genera e Copia

    Clicca Genera Hash per calcolare il risultato. Usa il pulsante Copia per copiare l'hash, oppure attiva Maiuscolo per output hex in maiuscolo.

Errori Comuni

Differenze di Fine Riga

Sistemi operativi diversi usano fine riga diversi — Unix/macOS usano LF (\n) mentre Windows usa CRLF (\r\n). Lo stesso testo copiato su sistemi diversi può produrre hash diversi.

✗ Errato
"Hello\r\nWorld" → 4a24aba0b89e5056...  (CRLF)
✓ Corretto
"Hello\nWorld" → 68e109f0f40ca72a...  (LF — normalize first)

Differenze di Codifica dei Caratteri

Lo stesso carattere può avere rappresentazioni in byte diverse in UTF-8 rispetto a Latin-1 (ISO-8859-1). Questo produce hash diversi anche se il testo sembra identico.

✗ Errato
"café" (Latin-1, 4 bytes) → 5765dac89dc15ef4...
✓ Corretto
"café" (UTF-8, 5 bytes) → 5c462401420cd614...  (always use UTF-8)

Spazi in Coda

Spazi o fine riga invisibili in coda dovuti al copia-incolla possono cambiare l'hash. Fai sempre il trim dell'input o fai attenzione agli spazi in coda quando confronti hash.

✗ Errato
"Hello " (trailing space) → d3ed7e7e35011513...
✓ Corretto
"Hello" (no trailing space) → 8b1a9953c4611296...

Casi d'Uso Comuni

Verifica dell'Integrità dei File
Confronta l'hash di un file scaricato con il checksum fornito dal distributore per garantire che il file non sia stato corrotto o manomesso.
Deduplica dei Dati
Genera hash di file o blocchi di dati per identificare rapidamente i duplicati senza confrontare il contenuto byte per byte.
Generazione di Chiavi di Cache
Crea chiavi hash deterministiche dai dati di input per l'invalidazione della cache, gli ETag o l'archiviazione content-addressable.
Verifica di Firme API
Molte API usano MD5 o SHA-256 nel processo di firma delle richieste. Usa questo strumento per verificare o debuggare manualmente le firme API.

Dettagli Tecnici

Algoritmo MD5
MD5 (Message-Digest Algorithm 5, RFC 1321) produce un hash a 128 bit. Elabora l'input in blocchi da 512 bit attraverso 4 round da 16 operazioni ciascuno. Pur essendo veloce, MD5 è crittograficamente compromesso — gli attacchi di collisione possono essere eseguiti in pochi secondi.
Famiglia SHA
SHA-1 produce hash a 160 bit; SHA-256 e SHA-384/512 fanno parte di SHA-2. Questo strumento usa la Web Crypto API nativa del browser (crypto.subtle.digest()) per tutte le varianti SHA, garantendo prestazioni e correttezza ottimali.
Web Crypto API
Il metodo SubtleCrypto.digest() offre hashing con accelerazione hardware in tutti i browser moderni. Accetta input ArrayBuffer e restituisce output ArrayBuffer, che convertiamo in stringhe esadecimali per la visualizzazione.

Best Practice

Non Usare MD5 per la Sicurezza
MD5 è crittograficamente compromesso. Non usarlo per l'hashing delle password, firme digitali o validazione dei certificati. Usa SHA-256+ per i controlli di integrità e bcrypt/Argon2 per le password.
Usa SHA-256 per i Checksum
Quando ti serve un checksum affidabile per la verifica dell'integrità dei file, SHA-256 è lo standard attuale. È veloce, resistente alle collisioni e ampiamente supportato.
Verifica i Download tramite Hash
Verifica sempre l'hash di software o ISO scaricati rispetto al checksum del distributore. Usa la scheda File per calcolare l'hash e confrontare.
Sensibilità dell'Hash
Le funzioni hash sono estremamente sensibili alle modifiche dell'input. Anche la differenza di un solo bit produce un hash completamente diverso. Assicurati che il tuo input sia esattamente quello che intendi processare, inclusi spazi bianchi e fine riga.

Domande Frequenti

Cos'è un hash MD5?
MD5 (Message-Digest Algorithm 5) è una funzione hash crittografica che prende qualsiasi input — testo, file o dati binari — e produce un'impronta fissa di 128 bit (32 caratteri esadecimali). Lo stesso input produce sempre lo stesso hash, ma anche una piccolissima modifica dell'input genera un output completamente diverso. MD5 è stato progettato da Ronald Rivest nel 1991 ed è definito nell'RFC 1321.
MD5 è ancora sicuro?
No. MD5 è crittograficamente compromesso e non dovrebbe essere usato per scopi di sicurezza. Gli attacchi di collisione contro MD5 possono essere eseguiti in pochi secondi con hardware moderno. MD5 è ancora accettabile per usi non legati alla sicurezza come checksum, chiavi di cache e deduplica dei dati, ma per qualsiasi cosa relativa alla sicurezza usa SHA-256 o più forte. Per memorizzare le password, usa bcrypt o Argon2 invece di una qualsiasi funzione hash.
Qual è la differenza tra MD5 e SHA-256?
MD5 produce un hash a 128 bit (32 caratteri hex) ed è veloce ma insicuro. SHA-256 produce un hash a 256 bit (64 caratteri hex) e resta crittograficamente sicuro. SHA-256 fa parte della famiglia SHA-2 progettata dall'NSA e standardizzata da NIST. Per i nuovi progetti, preferisci sempre SHA-256 a MD5.
Come verifico il checksum di un file?
Per verificare il checksum di un file: 1) Scarica il file e annota il checksum fornito dal distributore. 2) Apri questo strumento e passa alla scheda File. 3) Trascina il file scaricato oppure clicca per sfogliare. 4) Seleziona lo stesso algoritmo usato dal distributore (di solito SHA-256 o MD5). 5) Clicca su Genera Hash e confronta il risultato con il checksum del distributore. Se corrispondono, il file è integro. Puoi anche usare la scheda Confronta per incollare entrambi gli hash e fare un controllo automatico. Per verificare checksum codificati in Base64, decodificali prima.
MD5 vs SHA-1 vs SHA-256 — quale dovrei usare?
Per la maggior parte degli scopi, usa SHA-256. MD5 (128 bit) è crittograficamente compromesso — usalo solo per compatibilità con sistemi legacy o checksum non critici. Anche SHA-1 (160 bit) è compromesso e deprecato dai principali browser e dalle CA. SHA-256 (256 bit) resta sicuro ed è lo standard industriale attuale per verifica di integrità, firme digitali e validazione dei certificati. SHA-512 offre un output ancora più grande ma serve raramente fuori da applicazioni specializzate.
Posso invertire un hash MD5 per ottenere il testo originale?
No. Le funzioni hash sono a senso unico per progettazione — non puoi invertire matematicamente un hash per recuperare l'input. Tuttavia, per stringhe brevi o comuni, gli attaccanti usano 'rainbow table' precalcolate per cercare mappature hash-testo note. Ecco perché non dovresti mai usare MD5 in chiaro per memorizzare le password.
I miei dati sono al sicuro usando questo strumento?
Sì. Tutto l'hashing viene eseguito interamente nel tuo browser tramite JavaScript. Nessun dato viene mai inviato a un server. Puoi verificarlo aprendo gli strumenti per sviluppatori del browser (F12 → scheda Network) mentre usi lo strumento — vedrai zero richieste in uscita. I tuoi testi e file non lasciano mai il tuo dispositivo.
Perché ottengo hash diversi per lo stesso testo?
Se ottieni hash diversi, controlla le differenze invisibili: spazi in coda, fine riga diversi (\n vs \r\n) o differenze di codifica. Le funzioni hash sono estremamente sensibili — anche un singolo spazio in più produce un hash completamente diverso. Assicurati anche di usare lo stesso algoritmo per entrambi i confronti.
Posso calcolare l'hash di file grandi?
Sì. Questo strumento può calcolare l'hash di file di qualsiasi dimensione perché tutta l'elaborazione avviene nel tuo browser tramite la Web Crypto API. Tuttavia, file molto grandi (diversi GB) possono richiedere più tempo e consumare memoria significativa. Per la maggior parte dei file sotto 1 GB, l'hashing si conclude in pochi secondi.
Cos'è un checksum MD5 e in cosa si differenzia da un hash?
Un checksum MD5 e un hash MD5 sono la stessa cosa — entrambi si riferiscono all'output a 128 bit (32 caratteri hex) dell'algoritmo MD5. Il termine 'checksum' si usa tipicamente quando l'hash viene applicato per verificare l'integrità di un file (ad esempio confrontando un file scaricato con il valore fornito dal distributore), mentre 'hash' è il termine più generale per l'output dell'algoritmo. Usa la scheda File sopra per calcolare un checksum MD5 di qualsiasi file.
MD5 è la stessa cosa della cifratura?
No. MD5 è una funzione hash, non una cifratura. La cifratura è reversibile — puoi decifrare i dati per riportarli alla forma originale con la chiave corretta. L'hashing è a senso unico — non puoi recuperare l'input originale da un hash. MD5 converte l'input in un'impronta a lunghezza fissa di 32 caratteri. Non c'è alcuna chiave e nessun modo di 'decifrare' un hash MD5. Per una cifratura vera, usa AES o RSA. Per memorizzare password, usa bcrypt o Argon2 — mai MD5 in chiaro.
Come genero un hash MD5 in JavaScript o Python?
In JavaScript (browser), usa la Web Crypto API: const hash = await crypto.subtle.digest('SHA-256', new TextEncoder().encode('text')); Nota che Web Crypto non supporta MD5 nativamente — usa una libreria come 'crypto-js' o un'implementazione pura JS. In Python: import hashlib; hashlib.md5('text'.encode()).hexdigest(). In Node.js: require('crypto').createHash('md5').update('text').digest('hex'). Oppure usa semplicemente questo strumento per generare un hash al volo senza scrivere codice.
Devo verificare che un download non si sia corrotto — dovrei usare MD5 o SHA-256 per il checksum?
Usa SHA-256 ogni volta che il distributore lo fornisce. SHA-256 (256 bit) è lo standard attuale per la verifica dell'integrità dei file ed è usato dai principali distributori software tra cui Ubuntu, Debian e la maggior parte dei progetti attenti alla sicurezza. MD5 è ancora pubblicato accanto ai download per motivi storici e resta adeguato per rilevare corruzioni accidentali (un file danneggiato durante il trasferimento). Tuttavia, i checksum MD5 non possono proteggere contro un attore malintenzionato che manomette deliberatamente sia il file sia il suo checksum, poiché le collisioni MD5 possono essere costruite in pochi secondi. SHA-256 chiude questa falla. Se il distributore fornisce solo MD5, usalo — qualsiasi checksum è meglio di nessuno per rilevare corruzioni di download. Usa la scheda File di questo strumento per calcolare entrambi gli hash direttamente nel tuo browser.
Il mio sistema legacy memorizza le password come hash MD5 — come migro a bcrypt senza costringere tutti gli utenti al reset?
Usa una strategia di migrazione con doppio hash. L'idea: passa l'hash MD5 esistente di ogni utente attraverso bcrypt. Quando un utente fa login, calcoli prima l'MD5 della password inviata (ottenendo il vecchio formato), poi verifichi quell'hash MD5 contro l'hash bcrypt memorizzato. Al login riuscito, calcola subito il bcrypt della password in chiaro da solo e aggiorna il record nel database. Col tempo, man mano che gli utenti fanno login, i record migrano naturalmente a bcrypt puro. Gli utenti che non effettuano mai il login restano sullo schema transitorio a doppio hash, che resta comunque molto più sicuro di MD5 in chiaro perché lo strato bcrypt aggiunge salt e work factor. Fissa una scadenza (6-12 mesi) dopo la quale gli account inattivi su vecchi hash richiedono un reset della password. Questo approccio migra gli utenti attivi in modo trasparente senza disservizi, restando sicuro perché lo strato bcrypt protegge gli hash MD5 dagli attacchi con rainbow table.
Sto costruendo un sistema di storage content-addressable — MD5 è ancora sicuro per hashing non critico come la deduplica?
MD5 è accettabile per content-addressable storage (CAS) e deduplica nella maggior parte degli scenari pratici, con riserve. Per rilevare duplicati accidentali — due file che hanno per caso contenuto identico — l'output a 128 bit di MD5 offre un tasso di falsi positivi infinitesimale (1 su 2^128). Il punto debole di MD5 sono le collisioni costruite ad arte: un attaccante può creare deliberatamente due file diversi che condividono lo stesso hash MD5. Se il tuo sistema CAS è puramente interno e nessun avversario può iniettare contenuti, MD5 va bene ed è veloce. Se gli utenti possono inviare contenuti (cloud storage, caching CDN, registry di pacchetti), usa SHA-256 per prevenire attacchi di collisione sugli hash. Git è passato da SHA-1 a SHA-256 esattamente per questo motivo. Per massime prestazioni con sicurezza, SHA-256 è solo ~20% più lento di MD5 su hardware moderno con accelerazione hardware, rendendo l'upgrade alla sicurezza quasi gratuito in pratica.

Strumenti correlati

Vedi tutti gli strumenti →