Strumento professionale gratuito per calcolare l'impronta digitale (hash) di qualsiasi file. Supporta 15 algoritmi di hashing: MD5, SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, Blake2b, Blake2s, Whirlpool, RIPEMD-160, CRC32, Adler32 e xxHash64.
Perché calcolare l'hash di un file? L'hash è una stringa univoca che identifica il contenuto di un documento. Viene utilizzato per:
Ideale per consulenti tecnici, periti informatici, sviluppatori e professionisti della cybersecurity. Genera report PDF con tutti gli hash calcolati, perfetti per documentazione forense e perizie tecniche.
Calcola MD5, SHA1, SHA256 e verifica integrità
Un hash (o impronta digitale) è una stringa di caratteri di lunghezza fissa generata da un algoritmo matematico a partire da qualsiasi tipo di dato. Funziona come un'impronta digitale univoca del file.
Caratteristiche principali:
Usi comuni: verifica integrità file, firme digitali, blockchain, password storage, deduplicazione dati.
| Scopo | Algoritmi Consigliati | Note |
|---|---|---|
| Sicurezza massima | SHA-256, SHA-512, SHA3-256, Blake2b | Nessuna vulnerabilità nota |
| Uso forense | MD5 + SHA-1 + SHA-256 | Triplo hash per compatibilità e verifica |
| Blockchain/Crypto | SHA-256, RIPEMD-160 | Standard di Bitcoin ed Ethereum |
| Velocità + Sicurezza | Blake2b, Blake2s | Più veloci di SHA-256, altrettanto sicuri |
| Compatibilità legacy | MD5, SHA-1 | Solo per sistemi datati |
In informatica forense, gli hash sono fondamentali per garantire l'integrità delle prove digitali. La catena di custodia richiede che ogni copia forense sia verificabile attraverso hash crittografici.
Best practice forensi:
Standard di riferimento: ISO 27037, NIST SP 800-86, RFC 3174 (SHA-1), RFC 6234 (SHA-2).
| Algoritmo | Bit | Sicurezza | Velocità | Anno |
|---|---|---|---|---|
| MD5 | 128 | Vulnerabile | Molto veloce | 1991 |
| SHA-1 | 160 | Vulnerabile | Veloce | 1995 |
| SHA-256 | 256 | Sicuro | Medio | 2001 |
| SHA-384 | 384 | Sicuro | Medio | 2001 |
| SHA-512 | 512 | Sicuro | Medio | 2001 |
| SHA3-256 | 256 | Sicuro | Medio | 2015 |
| SHA3-512 | 512 | Sicuro | Medio | 2015 |
| Blake2b-256 | 256 | Sicuro | Molto veloce | 2012 |
| Blake2b-512 | 512 | Sicuro | Molto veloce | 2012 |
| Blake2s-256 | 256 | Sicuro | Molto veloce | 2012 |
| Whirlpool (server) | 512 | Sicuro | Lento | 2000 |
| RIPEMD-160 | 160 | Sicuro | Medio | 1996 |
| CRC32 | 32 | Non crittografico | Estremamente veloce | 1961 |
| Adler32 | 32 | Non crittografico | Estremamente veloce | 1995 |
| xxHash64 (server) | 64 | Non crittografico | Estremamente veloce | 2012 |
Nota: Blake2b/s offre la migliore combinazione di velocità e sicurezza. CRC32 e Adler32 sono ottimi per checksum ma non per sicurezza.
Message Digest 5 è stato sviluppato da Ronald Rivest nel 1991 come successore di MD4. Produce un hash di 128 bit (32 caratteri esadecimali) ed è stato per decenni lo standard de facto per la verifica dell'integrità dei file.
Vulnerabilità: Nel 2004 sono state dimostrate collisioni pratiche, rendendo MD5 inadatto per applicazioni di sicurezza. Nel 2008, ricercatori hanno creato certificati SSL fraudolenti sfruttando queste debolezze.
Uso attuale: Ancora utilizzato per checksum di download, verifica rapida di file e compatibilità con sistemi legacy. In ambito forense viene calcolato insieme a SHA-256 per garantire la catena di custodia.
Secure Hash Algorithm 1 è stato progettato dalla NSA e pubblicato dal NIST nel 1995. Produce un hash di 160 bit (40 caratteri esadecimali) ed è stato ampiamente utilizzato in SSL/TLS, Git e firme digitali.
Vulnerabilità: Nel 2017, Google e CWI Amsterdam hanno dimostrato la prima collisione pratica (attacco "SHAttered"), creando due PDF diversi con lo stesso hash SHA-1. L'attacco ha richiesto 6.500 anni-CPU e 110 anni-GPU.
Uso attuale: Git utilizza ancora SHA-1 per gli identificatori dei commit (migrazione a SHA-256 in corso). In ambito forense è ancora accettato come prova se accompagnato da SHA-256. I browser hanno deprecato i certificati SSL con SHA-1 dal 2017.
Secure Hash Algorithm 256-bit fa parte della famiglia SHA-2, progettata dalla NSA e pubblicata nel 2001. Produce un hash di 256 bit (64 caratteri esadecimali) ed è attualmente lo standard globale per la sicurezza crittografica.
Sicurezza: Nessuna vulnerabilità pratica nota. La resistenza alle collisioni è di 2^128 operazioni, rendendo gli attacchi computazionalmente impossibili con la tecnologia attuale.
Uso: Bitcoin e la maggior parte delle criptovalute, certificati SSL/TLS, firme digitali, blockchain, verifica integrità software. È lo standard raccomandato da NIST, ISO e tutte le principali autorità di sicurezza.
SHA-384 è una versione troncata di SHA-512, che utilizza gli stessi calcoli interni ma restituisce solo 384 bit dell'output finale. Questo design offre un margine di sicurezza superiore a SHA-256.
Sicurezza: Resistenza alle collisioni di 2^192 operazioni. Utilizzato quando è richiesta sicurezza superiore a SHA-256 ma non si necessita dell'output completo di SHA-512.
Uso: TLS 1.2 e 1.3 come cipher suite, applicazioni governative (NSA Suite B), ambienti ad alta sicurezza dove SHA-256 è considerato insufficiente per policy interne.
SHA-512 è il membro più potente della famiglia SHA-2. Produce un hash di 512 bit (128 caratteri esadecimali) ed è ottimizzato per processori a 64 bit, dove può essere più veloce di SHA-256.
Sicurezza: Resistenza alle collisioni di 2^256 operazioni, il massimo livello di sicurezza della famiglia SHA-2. Offre protezione anche contro futuri computer quantistici per alcune applicazioni.
Uso: Password hashing (come base per bcrypt e Argon2), applicazioni militari e governative, sistemi che richiedono la massima sicurezza a lungo termine, firma di documenti legali.
SHA3-256 è basato sull'algoritmo Keccak, vincitore della competizione NIST per SHA-3 nel 2012 dopo 5 anni di analisi pubblica. Ha un design completamente diverso da SHA-2, basato sulla costruzione "sponge".
Sicurezza: Progettato per resistere ad attacchi che potrebbero compromettere SHA-2. La struttura sponge offre proprietà di sicurezza uniche e maggiore flessibilità. Considerato "post-quantum safe" per alcune applicazioni.
Uso: Standard di backup per SHA-2, applicazioni che richiedono diversità algoritmica, sistemi critici dove si vuole evitare dipendenza da un singolo design, Ethereum 2.0.
SHA3-512 offre il massimo livello di sicurezza della famiglia SHA-3. Come SHA3-256, utilizza la costruzione sponge di Keccak ma con parametri che producono 512 bit di output.
Sicurezza: Resistenza alle collisioni di 2^256 operazioni con un design completamente indipendente da SHA-2. Ideale per applicazioni che richiedono la massima sicurezza e diversità algoritmica.
Uso: Applicazioni ad altissima sicurezza, sistemi che devono sopravvivere a potenziali rotture di SHA-2, archiviazione a lungo termine (50+ anni), infrastrutture critiche.
Blake2b è stato progettato nel 2012 da Jean-Philippe Aumasson et al. come evoluzione di BLAKE (finalista SHA-3). È ottimizzato per CPU a 64 bit e offre prestazioni superiori a MD5 mantenendo la sicurezza di SHA-3.
Prestazioni: Fino a 3 volte più veloce di SHA-256 su processori moderni. Supporta chiavi, salt e personalizzazione, rendendolo versatile per molteplici applicazioni crittografiche.
Uso: Argon2 (password hashing vincitore PHC), WireGuard VPN, libsodium, Zcash, verifica integrità ad alte prestazioni, applicazioni real-time.
Blake2s è la variante di Blake2 ottimizzata per CPU a 32 bit e dispositivi con risorse limitate. Produce hash fino a 256 bit ed è progettato per embedded systems, IoT e applicazioni mobile.
Prestazioni: Più veloce di SHA-256 su dispositivi a 32 bit, con un footprint di memoria molto ridotto. Ideale per microcontrollori e ambienti con vincoli di risorse.
Uso: Dispositivi IoT, smart card, firmware embedded, applicazioni mobile, sistemi automotive, sensori industriali.
Whirlpool è stato progettato da Vincent Rijmen (co-creatore di AES) e Paulo Barreto nel 2000. Utilizza una struttura basata su AES con un blocco di 512 bit, producendo hash della stessa lunghezza.
Sicurezza: Design robusto basato sulla crittografia a blocchi AES. Adottato come standard ISO/IEC 10118-3 e raccomandato dal progetto NESSIE dell'Unione Europea.
Uso: Applicazioni governative europee, sistemi che richiedono standard ISO, password hashing, ambienti dove AES è già implementato (riuso componenti).
RACE Integrity Primitives Evaluation Message Digest è stato sviluppato nel 1996 in Europa come alternativa indipendente agli algoritmi NSA. Produce un hash di 160 bit con un design completamente diverso da SHA.
Sicurezza: Nessun attacco pratico noto, nonostante i 160 bit. Il design a doppia pipeline offre resistenza superiore rispetto a SHA-1 con la stessa lunghezza di output.
Uso: Bitcoin (insieme a SHA-256 per generare indirizzi), PGP/GPG, applicazioni che richiedono un algoritmo non-NSA, sistemi europei legacy.
Cyclic Redundancy Check 32-bit è un algoritmo di checksum basato sulla divisione polinomiale, sviluppato negli anni '60. È lo standard per la rilevazione di errori nelle comunicazioni e nello storage.
Prestazioni: Estremamente veloce, spesso implementato in hardware. Può processare gigabyte di dati al secondo su CPU moderne.
Uso: File ZIP e RAR, Ethernet (FCS), SATA, USB, PNG, MPEG-2, verifica integrità in protocolli di rete, storage systems.
Adler-32 è stato inventato da Mark Adler nel 1995 per la libreria zlib. È un checksum basato su due somme modulari, progettato per essere più veloce di CRC32 mantenendo buone proprietà di rilevazione errori.
Prestazioni: Leggermente più veloce di CRC32 in implementazioni software pure, ma meno efficace nel rilevare alcuni pattern di errori.
Uso: Compressione zlib/gzip, formato PNG (chunk), rsync, verifica integrità in streaming, applicazioni dove la velocità è prioritaria rispetto alla robustezza.
xxHash è stato sviluppato da Yann Collet nel 2012 specificamente per essere l'hash non crittografico più veloce possibile. La versione a 64 bit è ottimizzata per CPU moderne a 64 bit.
Prestazioni: Fino a 31 GB/s su hardware moderno, ordini di grandezza più veloce di qualsiasi hash crittografico. Eccellente distribuzione statistica nonostante la velocità estrema.
Uso: Database (chiavi hash table), deduplicazione, caching, content-addressable storage, LZ4 compression, sistemi di build, verifica rapida di grandi dataset.