Come si usa
- Digita o incolla un testo, imposta Formato input su Esadecimale per inserire byte esadecimali oppure apri il file che vuoi controllare.
- Lascia selezionato SHA-256 e in Formato output scegli hex (minuscole), HEX (maiuscole) o Base64.
- Incolla il checksum indicato nella pagina di download nel campo Confronta con. Corrisponde significa che il file è identico.
- Copia il risultato, oppure copia SHA-384, SHA-512 o un altro digest dalla tabella Tutti gli algoritmi.
Che cos’è SHA-256?
SHA-256 è il membro più diffuso della famiglia SHA-2, progettata dalla NSA e standardizzata dal NIST nel 2002 in FIPS 180-2. Oggi è specificato in FIPS 180-4, e la RFC 6234 riporta gli stessi algoritmi con codice di riferimento. SHA-256 elabora blocchi da 512 bit in 64 round di aritmetica a 32 bit e produce un digest di 256 bit: 64 caratteri esadecimali o 44 caratteri Base64. Non si conoscono attacchi pratici di collisione o di preimmagine, ed è la scelta predefinita per:
- certificati e handshake TLS e firma del codice;
- Bitcoin, che applica SHA-256 due volte per gli hash dei blocchi, la proof of work e gli ID delle transazioni (il checksum degli indirizzi Base58Check deriva dallo stesso doppio hash);
- file di checksum come
SHA256SUMS, digest delle immagini dei container (sha256:...) e Subresource Integrity.
Verificare un download
Apri il file scaricato e incolla il checksum pubblicato dall’autore nel campo Confronta con. Maiuscole e minuscole non contano, e funziona anche un valore Base64. Corrisponde significa che il file è, byte per byte, quello da cui è stato calcolato il checksum. Non dimostra però chi lo ha creato, quindi prendi il checksum dal sito HTTPS dell’autore o da un file SHA256SUMS firmato, non dal mirror da cui hai scaricato il file.
Per il testo, l’hash si calcola sui byte, non sui caratteri. I terminatori di riga Windows (CRLF), un byte order mark o UTF-16 al posto di UTF-8 producono ciascuno un hash SHA-256 completamente diverso. Usa il menu Codifica del testo o l’input Esadecimale per calcolare l’hash esattamente degli stessi byte usati dall’altro sistema.
Estensione della lunghezza e password
Come MD5, SHA-1 e SHA-512, anche SHA-256 è esposto all’attacco di estensione della lunghezza: conoscendo SHA-256(secret + message) e la lunghezza del segreto, un attaccante può calcolare un hash valido per quel messaggio seguito da padding e da dati a sua scelta, senza conoscere il segreto. Per firmare o autenticare dati con una chiave, usa HMAC-SHA256 con il Generatore HMAC invece di calcolare l’hash della chiave e del messaggio concatenati.
La velocità è anche il motivo per cui un semplice SHA-256 è il modo sbagliato di memorizzare le password: chiunque ottenga gli hash può provare tentativi alla stessa velocità con cui le sue schede grafiche calcolano SHA-256, e password identiche producono hash identici. Usa Argon2id, scrypt, bcrypt o PBKDF2-HMAC-SHA256 con un numero elevato di iterazioni: tutti aggiungono un salt.
SHA-256 dalla riga di comando e nel codice
$ printf 'abc' | sha256sum
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad -
sha256sum -c SHA256SUMS # Linux: verifica un elenco di file
shasum -a 256 file.iso # macOS
certutil -hashfile file.iso SHA256 # Windows
Get-FileHash file.iso # PowerShell (SHA256 è il predefinito)
# Python
hashlib.sha256(data).hexdigest()
// Node.js
crypto.createHash('sha256').update(data).digest('hex')
Il valore per abc è il vettore di test dello standard; digita abc qui sopra per vedere lo stesso risultato. La tabella Tutti gli algoritmi elenca anche i valori SHA-384, SHA-512, SHA-1, MD5 e CRC del tuo input.
Esempi
| Input (UTF-8) | SHA-256 |
|---|---|
Hello, World! | dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f |
Base64.is | 63f2f446bc11a1f96175c0f77bdac08ca1b184ba42c3a42c34ddcbce00b1b800 |
你好 | 670d9743542cae3ea7ebe36af56bd53648b0a1126162e78d81a32934a711302e |
Domande frequenti
SHA-256 si può decifrare?
No. SHA-256 è un hash unidirezionale, non una cifratura. I "decifratori" online si limitano a cercare gli hash in tabelle di input noti, quindi trovano password comuni e stringhe brevi, ma niente di lungo o casuale.
Perché il mio SHA-256 non corrisponde al checksum pubblicato?
Nella maggior parte dei casi il download è incompleto o è una versione diversa, oppure hai calcolato l’hash del nome del file anziché del file. Carica il file vero e proprio con Apri file. Controlla anche che entrambi i valori usino lo stesso algoritmo: un valore esadecimale di 128 caratteri proviene da un hash a 512 bit come SHA-512, non da SHA-256.
Come ottengo un hash SHA-256 in Base64?
sha256-, anche se sha384- è più comune) e l’header HTTP Content-Digest usano questa forma. Esadecimale e Base64 contengono gli stessi 32 byte; puoi passare dall’uno all’altro con Base64 in esadecimale.SHA-256 è la stessa cosa di SHA-2?
SHA-2 è una famiglia: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 e SHA-512/256. SHA-256 ne è il membro più comune. SHA-3 (FIPS 202) è un progetto distinto basato su Keccak e dà risultati diversi.
Quanto è lungo un hash SHA-256?
=. SHA3-256 e BLAKE2s hanno la stessa lunghezza; l’Identificatore di hash elenca questi candidati per un hash sconosciuto.