MD5, SHA-1 o SHA-256: quale hash usare per i download
Per verificare un download, usa SHA-256 o SHA-512 ogni volta che l'editore li offre. MD5 e SHA-1 servono ancora a individuare danni accidentali, come un download interrotto, ma i ricercatori hanno dimostrato che si possono creare due file diversi con lo stesso hash MD5 o SHA-1. Una corrispondenza con questi algoritmi, quindi, non può dimostrare che un file sia quello realmente prodotto dall'editore. Un hash è un'impronta digitale, non una cifratura, e ha valore solo quando proviene da una fonte di cui ti fidi.
Generatore di hashIl download è integro?Usalo gratisCosa fa un hash e cosa non fa
Una funzione di hash trasforma dati di qualsiasi dimensione in un'impronta di lunghezza fissa. Lo stesso input produce sempre la stessa impronta, e cambiare anche un solo byte ne produce una completamente diversa. Questo rende l'hash utile per i confronti: se l'impronta della tua copia coincide con quella pubblicata, i due file sono quasi certamente identici.
Un hash non è una cifratura. Non può essere invertito per recuperare il file e non usa alcuna chiave. Non nasconde nulla e, da solo, non dimostra chi ha creato il file. Un checksum è semplicemente un hash che l'editore riporta accanto a un download perché tu possa confrontarlo.
Le quattro opzioni più comuni
| Algoritmo | Lunghezza dell'output | Da usare per |
|---|---|---|
| MD5 | 128 bit, 32 caratteri esadecimali | Solo per individuare danni accidentali |
| SHA-1 | 160 bit, 40 caratteri esadecimali | Controlli legacy; da evitare per la sicurezza |
| SHA-256 | 256 bit, 64 caratteri esadecimali | La scelta abituale per i download |
| SHA-512 | 512 bit, 128 caratteri esadecimali | Stessa famiglia, con output più lungo |
Perché MD5 e SHA-1 non bastano
Una collisione significa due input diversi con lo stesso hash. Le collisioni in MD5 sono note dal 2004. Nel 2017 i ricercatori hanno pubblicato una collisione pratica di SHA-1: due file PDF diversi che condividono lo stesso hash.
Per un download questo conta perché chi controlla un file può produrre una versione malevola con lo stesso hash MD5 o SHA-1 di quella autentica. Se un editore indica solo MD5 o SHA-1, una corrispondenza non dimostra più che il file è autentico. Anche la FAQ dello stesso generatore di hash ribadisce il concetto: per tutto ciò che riguarda la sicurezza, usa SHA-256 o SHA-512.
Al momento della stesura non si conosce alcuna collisione pratica di SHA-256, ed è per questo che SHA-256 è la scelta abituale. La guida al checksum SHA-256 illustra i passaggi.
Scegli quello giusto
- Se l'editore offre SHA-256 o SHA-512, usa quello e metti da parte MD5 e SHA-1 per la sicurezza.
- Se è offerto solo MD5 o SHA-1, verificalo comunque con il generatore di hash. Individua comunque un download corrotto o incompleto. Considera una corrispondenza come "non danneggiato", non come "autentico".
- Se non è offerto nessun hash, in questo modo non puoi verificare l'integrità. Scarica dalla pagina ufficiale tramite HTTPS e, dove il progetto pubblica file di checksum firmati, verifica la firma.
Il generatore di hash calcola contemporaneamente MD5, SHA-1, SHA-256, SHA-384 e SHA-512, per un testo o per un file. Il file viene letto nel tuo browser e non viene caricato da nessuna parte. Incolla l'hash dell'editore nel campo Hash atteso. Lo strumento rimuove gli spazi e ignora le maiuscole prima del confronto, quindi un hash stampato in maiuscolo o diviso in gruppi risulta comunque corrispondente. I file molto grandi possono mettere sotto pressione la memoria del browser: in quel caso usa uno strumento da riga di comando come sha256sum su Linux o shasum -a 256 su Mac.
Cosa ti dice una corrispondenza
Un hash corrispondente significa che la tua copia è quasi certamente identica al file su cui è stato calcolato. Non dice chi ha calcolato l'hash, né che il file sottoposto a hash fosse quello che l'editore intendeva distribuire. Per questo conta più la fonte che l'algoritmo. Se l'hash proviene dalla pagina di rilascio ufficiale dell'editore e tu ci sei arrivato direttamente, non tramite un link in un messaggio, una corrispondenza è una prova forte. Se l'hash viene da un commento, da un mirror o da un forum, considéralo non verificato finché non lo trovi su una pagina affidabile.
Un checksum richiede una fonte affidabile
Un checksum che si trova sullo stesso server del file dimostra solo che la copia corrisponde a quanto contiene quel server. Se un malintenzionato sostituisce il file, può sostituire anche il checksum accanto ad esso. Un checksum è utile quando arriva da una fonte separata, come le note di rilascio firmate del progetto, o da una pagina raggiunta in modo indipendente dal link di download.
Gli hash per le password sono diversi
Anche la memorizzazione delle password usa l'hashing, ma richiede un hash lento progettato per le password, con un salt unico per ciascuna. Un hash veloce come SHA-256 non è lo strumento giusto in quel caso. Per i download, invece, lo scopo è il confronto, e SHA-256 lo svolge molto bene.
Casi particolari
- Maiuscole. Le lettere esadecimali da A a F sono identiche in maiuscolo e minuscolo, quindi confronta senza preoccuparti delle maiuscole.
- Hash troncati. Alcuni siti riportano solo l'inizio di un hash. Una corrispondenza parziale dice poco, quindi confronta l'intero valore.
- Più file. Alcuni progetti pubblicano un unico file di checksum per un'intera release. Cerca la riga con il nome esatto del file, perché una corrispondenza sulla riga di un altro file non dimostra nulla.
Tradotto dal Originale in inglese con l'assistenza dell'IA.
Commenti
Nessun commento per ora. Sii il primo.


