Generatore di hash

Inserisci il testo qui sotto per generare in una volta hash SHA-1, SHA-256, SHA-384 e SHA-512, oppure fornisci una chiave per firmarlo con HMAC. Utilizza l’API Web Crypto. Tutta l’elaborazione avviene localmente nel tuo browser.

Informazioni sulle funzioni hash

Una funzione hash crittografica prende un input e produce una stringa di byte di dimensione fissa. L'output (hash) è unico per l'input - anche una piccola modifica produce un hash completamente diverso.

  • SHA-1 - 160-bit, deprecato per usi di sicurezza. Ancora usato in Git.
  • SHA-256 - 256-bit, parte della famiglia SHA-2. Consigliato per uso generale.
  • SHA-384 - 384-bit, parte della famiglia SHA-2. Variante troncata di SHA-512.
  • SHA-512 - 512-bit, parte della famiglia SHA-2. L'hash standard più robusto.

Ogni hash di questa pagina arriva dalla Web Crypto API del browser, firme HMAC comprese. Niente è implementato a mano e niente viene caricato.

Due impostazioni cambiano il risultato più di quanto ci si aspetti. Il set di caratteri decide quali byte vengono elaborati, quindi la stessa frase dà un hash diverso in UTF-8 e in Windows-1252. L'impostazione dei fine riga conta per tutto ciò che viene da un file, perché un hash calcolato su CRLF non corrisponderà mai a uno calcolato su LF. Incolla un checksum nel campo di confronto e la pagina ti dice da quale dei quattro proviene, che è il modo più rapido per identificare un hash senza etichetta.

Come lo stai davvero conservando?

Hash, token e password valgono quanto il codice che li circonda: un fattore di costo lasciato al valore predefinito, un token di cui nessuno controlla la scadenza, un segreto finito nel repository. Analizziamo e irrobustiamo le applicazioni, e ti diciamo cosa raggiunge per primo un attaccante.

Prenota una revisione di sicurezza

Domande frequenti

Perché ottengo un hash diverso da un altro strumento?
Quasi sempre perché differiscono i byte, non l'algoritmo. Un a capo finale, CRLF invece di LF o testo codificato in Windows-1252 anziché UTF-8 cambiano l'ingresso e quindi l'hash. Le impostazioni di set di caratteri e fine riga su questa pagina servono proprio a rendere esplicite quelle differenze.
Dov'è finito MD5?
È stato rimosso. MD5 ha attacchi di collisione praticabili, quindi non dimostra nulla su un file che un attaccante potrebbe aver toccato, e l'interfaccia crittografica del browser non lo offre, il che significava portarsi in pagina un'implementazione scritta a mano. SHA-256 è il valore predefinito sensato per qualsiasi cosa nuova.
Che cos'è HMAC e quando serve?
HMAC mescola un segreto condiviso nell'hash, così solo chi ha la chiave può produrlo o verificarlo. Usalo per le firme dei webhook e per firmare richieste API, dove un hash semplice non prova nulla perché chiunque può calcolarlo sullo stesso corpo.
Quale dovrei usare davvero?
SHA-256, salvo motivi contrari. SHA-512 non è sensibilmente più robusto per la maggior parte degli scopi ed è più veloce su hardware a 64 bit, quindi è anch'esso un valore predefinito ragionevole. SHA-1 è qui perché moltissimo software esistente lo produce ancora, non come raccomandazione: ha attacchi di collisione praticabili e non dovrebbe proteggere nulla.
Il mio testo arriva al vostro server?
No. Ogni hash è calcolato nel tuo browser, quattro di essi dalla sua stessa interfaccia crittografica. Niente di ciò che digiti viene caricato, ed è questo a rendere sicuro calcolare l'hash di un token, di un file di configurazione o di qualsiasi cosa non incolleresti in un servizio remoto.