Cosa fa questo strumento
Calcola hash crittografici (MD5, SHA-1, SHA-256, SHA-384, SHA-512) di testo o contenuti di file, interamente nel tuo browser. L'output è un digest hex di lunghezza fissa che puoi incollare in un file di checksum, confrontare con un hash pubblicato, o usare come chiave di lookup.
Quando usarlo
- Verificare che un file scaricato corrisponda al SHA-256 che il publisher ha pubblicato.
- Generare una chiave di cache stabile per un pezzo di contenuto.
- Calcolare un hash di integrità per un attributo Subresource Integrity (SRI).
- Fare un'impronta rapida di un file prima di inviarlo da qualche parte.
Come funziona
SHA-1, SHA-256, SHA-384 e SHA-512 usano l'API WebCrypto del browser (crypto.subtle.digest), che è implementata nativamente in C/Rust e gira a velocità prossima alla lettura disco per i file. MD5 non è in WebCrypto (è deprecato per usi di sicurezza da oltre un decennio), quindi spediamo una piccola implementazione RFC 1321 che gira nello stesso tab. L'hashing dei file legge chunk del file tramite l'API standard File/Blob — niente upload, niente file temp, niente server.
Note
MD5 e SHA-1 sono ancora elencati — dovrei usarli? Solo per scopi non di sicurezza. Usali per cache content-addressed, ETag, chiavi di dedup, o per confrontare con un checksum legacy. Non usarli per archiviazione password, firme, o qualsiasi cosa dove la resistenza alle collisioni conti.
Quale SHA dovrei usare per nuovo codice? SHA-256 è il default giusto. SHA-512 è più veloce su CPU 64 bit e ti dà un digest più lungo se ti serve. SHA-384 esiste soprattutto per soddisfare requisiti di conformità specifici.
Perché il mio hash differisce da quello che mostra shasum? Molto probabilmente un newline finale. echo "hello" aggiunge \n, mentre incollare "hello" in questo strumento no. Usa echo -n per togliere il newline, o incolla i byte verbatim.