Visualizzatore di stringhe Hash

Inserisci del testo per calcolare e confrontare visivamente gli hash MD5, SHA-1, SHA-256 e SHA-512 con blocchi di colore.

Come funziona

  1. Inserisci il tuo testo: digita o incolla qualsiasi stringa, password, contenuto di file, identificatore o qualunque testo da hashare.
  2. Scegli un algoritmo: seleziona MD5, SHA-1, SHA-256, SHA-384 o SHA-512 secondo le tue esigenze.
  3. Copia l'hash: il valore dell'hash appare all'istante. Copialo per la conservazione, il confronto o la verifica.

Perché usare il generatore di hash di stringa?

L'hashing trasforma una stringa qualsiasi in un'impronta di lunghezza fissa, propria del suo contenuto. Un singolo carattere modificato produce un hash completamente diverso. È essenziale per verificare l'integrità dei dati, conservare password in sicurezza, generare chiavi di cache, deduplicare record e creare identificatori basati sul contenuto. Poiché l'hashing è a senso unico, è impossibile risalire al testo originale a partire dall'hash, il che lo rende sicuro per archiviare dati sensibili.

Funzionalità

Domande frequenti

Quale algoritmo di hash scegliere?

Per usi sensibili (password, firme), usa SHA-256 o SHA-512. MD5 e SHA-1 sono deprecati per la sicurezza ma restano utili per i checksum e le chiavi di cache dove la robustezza crittografica non è richiesta.

Posso usare questo strumento per hashare password da archiviare?

L'hashing di stringa ti dà un hash a senso unico, ma per archiviare password, bisogna usare una funzione di derivazione di chiave come bcrypt, Argon2 o PBKDF2 che integra sale e iterazioni. I semplici hash SHA sono troppo veloci e vulnerabili agli attacchi con tabelle arcobaleno.

Gli hash sono reversibili?

No. Le funzioni di hashing sono a senso unico, è impossibile risalire alla stringa originale a partire dal suo hash. Se due stringhe producono lo stesso hash (collisione), è un difetto dell'algoritmo. SHA-256 e SHA-512 non hanno collisioni pratiche conosciute.

Una storia di 35 anni di funzioni hash: da MD5 a BLAKE3

Le funzioni hash crittografiche si sono evolute attraverso una lunga sequenza di cicli rompi-e-sostituisci. MD5 è stato pubblicato da Ronald Rivest in RFC 1321 (aprile 1992) come successore di MD4. Il suo output di 128 bit è stato considerato sufficientemente forte per oltre un decennio fino a quando Wang e Yu hanno pubblicato la prima collisione pratica nel 2004. Nel 2008, i ricercatori avevano utilizzato le collisioni MD5 per falsificare un'autorità di certificazione SSL fraudolenta. SHA-1 è stato progettato dalla NSA e standardizzato dal NIST in FIPS 180-1 (1995). Il suo output di 160 bit è rimasto fino al febbraio 2017, quando Google e CWI Amsterdam hanno annunciato l'attacco SHAttered, producendo due PDF con lo stesso hash SHA-1. Costi: circa 6.500 anni-CPU equivalenti su GPU. SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512), anch'esso dalla NSA, è stato pubblicato in FIPS 180-2 (agosto 2002). Utilizza la stessa costruzione Merkle-Damgård di SHA-1 ma con stati più grandi e più round; oggi non esiste alcun attacco pratico alle versioni complete. SHA-3 (Keccak, di Bertoni et al.) è stato selezionato dal NIST dopo una competizione pubblica e standardizzato in FIPS 202 (agosto 2015). SHA-3 utilizza una costruzione spugna completamente diversa, immune agli attacchi di estensione della lunghezza che colpiscono SHA-2. Al di fuori della famiglia NIST, BLAKE2 (Aumasson et al., 2012) e BLAKE3 (2020) offrono sicurezza di classe SHA-3 con la velocità di MD5; BLAKE3 esegue l'hashing di un file da 1 GB in circa un secondo su un laptop moderno.

Quale algoritmo scegliere: una rapida tabella decisionale

Dove l'hashing viene effettivamente utilizzato

Errori di hashing che fanno perdere denaro o rompono le cose

Altre domande frequenti

Perché MD5 e SHA-1 sono «rotti» se producono ancora hash?

«Rotto» significa che un attaccante può produrre collisioni più velocemente della forza bruta. Per MD5, trovare due input con lo stesso hash richiede secondi su un laptop oggi. Per SHA-1, ha richiesto 6.500 anni-CPU nel 2017 ed è sceso drammaticamente da allora. Gli hash funzionano ancora meccanicamente; ciò che è rotto è la garanzia di sicurezza che sono «resistenti alle collisioni». Per usi non-avversariali (checksum di un file di cui ti fidi contro la corruzione accidentale) MD5 funziona ancora bene. Per qualsiasi cosa coinvolga un avversario, entrambi sono insicuri.

Dovrei preoccuparmi dei computer quantistici che rompono SHA-256?

Meno di quanto potresti pensare. L'algoritmo di Grover accelera gli attacchi di preimmagine contro un hash a 256 bit da 2²⁵⁶ a 2¹²⁸ lavoro classico-equivalente, che è ancora effettivamente impossibile. Le primitive simmetriche (hash, AES) sopravvivono al calcolo quantistico raddoppiando le dimensioni delle chiavi/output. La crittografia a chiave pubblica (RSA, ECDSA) è ciò che cade duramente agli attacchi quantistici, da cui gli standard post-quantistici NIST pubblicati ad agosto 2024 (ML-KEM, ML-DSA, SLH-DSA). Se stai usando SHA-256 oggi, SHA-512 nell'era post-quantistica sarà più che sufficiente.

Qual è la differenza tra un hash e HMAC?

Un hash (SHA-256) è senza chiave: chiunque abbia l'input può calcolare lo stesso output. Un HMAC (Hash-based Message Authentication Code) avvolge l'hash con una chiave segreta, quindi solo chi conosce la chiave può calcolare o verificare il tag. Definito in RFC 2104 (1997), HMAC è il modo standard per «firmare» simmetricamente un messaggio (mittente e ricevitore condividono un segreto). Usa HMAC-SHA256 per firme webhook, JWT HS256, firma di richiesta API. Semplice SHA-256 su secret + message è insicuro a causa dell'estensione della lunghezza.

Perché librerie diverse danno hash diversi per la stessa stringa?

Tre cause comuni. Primo, codifica caratteri: UTF-8 vs UTF-16 vs Latin-1 danno byte diversi per stringhe non-ASCII, quindi hash diversi. Codifica sempre esplicitamente. Secondo, fine riga: "hello\n" e "hello\r\n" hashano diversamente; i checksum Windows-vs-Unix spesso differiscono per questo motivo. Terzo, formato di output: hex minuscolo vs hex maiuscolo vs base64 sembra un valore diverso ma rappresenta gli stessi byte. Normalizza i formati di input e output prima di confrontare.

Il mio input viene inviato a un server quando faccio hash qui?

No. Tutti e quattro gli hash sono calcolati nel tuo browser usando l'API Web Crypto integrata (crypto.subtle.digest). Apri la scheda Rete in DevTools e digita nell'input, vedrai zero richieste in uscita. Sicuro per credenziali, token o qualsiasi valore privato che vuoi hashare senza che lasci il tuo dispositivo.

Strumenti correlati

Generatore di Hash Gratuito Generatore JWT gratuito Generatore UUID Gratuito Codificatore e decodificatore Base64 gratuito online