UltKit

Generatore di hash

Basta digitare un testo o scegliere un file per ottenere i digest MD5, SHA-1, SHA-256, SHA-384 e SHA-512 affiancati, ciascuno con il proprio pulsante di copia. Il calcolo avviene sul dispositivo tramite la Web Crypto API del browser e una routine MD5 locale, quindi i file non vengono mai caricati.

0 caratteri · 0 parole · 0 righe

MD5non per la sicurezza
—
SHA-1non per la sicurezza
—
SHA-256
—
SHA-384
—
SHA-512
—

0 caratteri · 0 parole · 0 righe

Funziona interamente in questa scheda del browser. Il testo non viene mai caricato né salvato.

Dimensioni dei digest

Le lunghezze e i digest dell'input vuoto sono stati calcolati con l'MD5 di questa pagina e con la Web Crypto API al momento della generazione.

AlgoritmoBit del digestLunghezza esadecimaleBit del bloccoStatoHash di input vuoto
MD512832512Insicuro: collisioni trovate nel 2004d41d8cd98f00b204e9800998ecf8427e
SHA-116040512Insicuro: collisione dimostrata nel 2017da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-25625664512Sicuro (SHA-2)e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-384384961024Sicuro (SHA-2)38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
SHA-5125121281024Sicuro (SHA-2)cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

Cinque algoritmi, due dei quali ormai superati

Una funzione di hash trasforma un input di qualsiasi dimensione in un'impronta di lunghezza fissa. Basta cambiare un solo carattere e circa metà dei bit dell'output si inverte, quindi anche "UltKit" e "ultkit" producono digest senza alcuna relazione. MD5, pubblicato da Ron Rivest nella RFC 1321 nel 1992, produce 128 bit (32 caratteri esadecimali). Nel 2004 Xiaoyun Wang e i suoi colleghi dimostrarono come costruire due input diversi con lo stesso hash MD5, e nel 2012 il malware Flame sfruttò una collisione MD5 per falsificare un certificato di firma del codice di Microsoft. SHA-1 (160 bit) cadde allo stesso modo quando Google e il CWI di Amsterdam pubblicarono nel 2017 la prima collisione reale, SHAttered. Entrambi sono contrassegnati qui come "non adatti alla sicurezza".

SHA-256, SHA-384 e SHA-512 appartengono alla famiglia SHA-2, specificata dal NIST nella FIPS 180-4, e non si conoscono attacchi pratici contro di loro. SHA-256 è la scelta predefinita per i download di software, il formato di oggetti più recente di Git, i certificati TLS e Bitcoin. MD5 e SHA-1 restano adatti a compiti non soggetti ad attacchi, come individuare un danneggiamento accidentale o eliminare i file duplicati, ed è per questo che molte pagine di download li elencano ancora.

Perché l'hashing non è crittografia

La cifratura è reversibile per progettazione: chi possiede la chiave recupera l'originale. Un hash non ha chiave e non può essere invertito, perché innumerevoli input corrispondono a ogni digest. Questo non rende l'hash un contenitore sicuro per i segreti. Un attaccante che vede lo SHA-256 di un input breve o comune calcola l'hash di vari candidati finché uno coincide, e le tabelle precalcolate coprono miliardi di password note. Gli hash veloci sono pensati per essere veloci, e le GPU moderne provano miliardi di tentativi SHA-256 al secondo.

Per questo le password vanno salvate con un hash per password volutamente lento e con salt, come Argon2, bcrypt o scrypt, mai con semplice MD5 o SHA-256, e le password stesse si possono creare con un generatore di password. Questa pagina serve a ciò che gli hash veloci fanno bene: verificare che un file scaricato corrisponda al checksum indicato dall'editore, confrontare due file senza aprirli o controllare un digest calcolato dal proprio codice. Il testo viene sottoposto a hash come UTF-8 senza a capo finale, che è il motivo abituale per cui un risultato differisce da echo "text" | sha256sum in un terminale. La sezione strumenti per sviluppatori confronta l'hash con le codifiche reversibili su un unico esempio.

Domande frequenti

Come si verifica un file scaricato con il checksum SHA-256?
Scegliete il file con Hash a file, poi confrontate la riga SHA-256 con il valore indicato sul sito dell'editore. Ogni carattere deve coincidere; l'esadecimale maiuscolo cambia solo il modo in cui vengono mostrate le lettere da a a f.
Un hash MD5 o SHA-256 si può decifrare?
No, non c'è nulla da decifrare. I siti che dichiarano di invertire gli hash cercano il digest in tabelle di stringhe già sottoposte a hash, il che funziona solo con input brevi o comuni.
Perché MD5 è ancora disponibile se non è più sicuro?
Molti sistemi pubblicano ancora checksum MD5, e rileva benissimo le modifiche accidentali. È compromesso solo contro un attaccante in grado di creare apposta file in collisione.
Qual è l'hash MD5 di una stringa vuota?
d41d8cd98f00b204e9800998ecf8427e. Vedere questo valore di solito significa che un programma ha calcolato l'hash di un input vuoto, per esempio perché un file non è stato caricato prima del calcolo.
SHA-512 è più sicuro di SHA-256?
Entrambi sono integri e ben oltre la portata della forza bruta. SHA-512 ha un output più lungo e può essere più veloce sui processori a 64 bit, ma SHA-256 è la scelta più comunemente attesa per checksum e firme.