Generatore Hash SHA-3 (Keccak SHA3-256)
Genera hash SHA-3 online gratis. Costruzione a spugna NIST FIPS 202 — lo standard post-SHA-2. Output SHA3-256 in 64 caratteri hex. Solo browser tramite js-sha3 caricato in modo lazy; zero upload.
Cos'è SHA-3?
SHA-3 (Secure Hash Algorithm 3) è la terza generazione dello Secure Hash Standard di NIST, standardizzata in FIPS 202 nell'agosto 2015. A differenza di SHA-1 e SHA-2, che sono basati sulla costruzione Merkle-Damgård, SHA-3 usa un design radicalmente diverso chiamato costruzione a spugna — una scelta che NIST ha fatto deliberatamente per garantire che una violazione crittanalitica di SHA-2 non comprometta automaticamente SHA-3.
La competizione NIST SHA-3 (2007–2012): NIST ha sollecitato proposte pubbliche in tutto il mondo nel 2007. Dopo tre round di valutazione, 64 candidati sono stati ridotti a cinque finalisti: BLAKE, Grøstl, JH, Keccak e Skein. Nell'ottobre 2012, Keccak — progettato da Guido Bertoni, Joan Daemen, Michaël Peeters e Gilles Van Assche da STMicroelectronics e NXP Semiconductors — è stato selezionato come vincitore. Tutti e cinque i finalisti erano considerati sicuri; il design unico basato sulla spugna di Keccak gli ha dato la diversità strutturale che NIST ha prioritizzato.
La costruzione a spugna: SHA-3 assorbe l'input in uno stato da 1600 bit (la permutazione Keccak-f[1600]) nella fase di assorbimento, poi estrae i bit di output dallo stato nella fase di spremitura. Per SHA3-256, la suddivisione velocità/capacità è 1088/512 bit. Poiché solo 256 dei 1600 bit di stato interno appaiono nell'output, un attaccante non può ricostruire lo stato completo dall'hash — rendendo gli attacchi di estensione di lunghezza strutturalmente impossibili. Questo contrasta con SHA-256, dove l'intero stato interno è esposto nell'output, richiedendo HMAC per prevenire l'estensione di lunghezza.
SHA-3 vs Keccak — la differenza di padding: NIST ha modificato la proposta Keccak originale cambiando il padding di separazione del dominio da 0x01 a 0x06. Questo significa che NIST SHA3-256 e Keccak-256 originale producono output a 64 caratteri hex diversi per ogni input. Questa non è una preoccupazione teorica — è il motivo per cui keccak256 di Ethereum (congelato prima che FIPS 202 fosse finalizzato) differisce dall'output SHA3-256 di questo strumento per la stessa stringa. Non usare mai questo strumento per replicare la derivazione di indirizzi Ethereum.
FIPS 202 definisce quattro varianti SHA-3: SHA3-224 (56 caratteri hex), SHA3-256 (64 caratteri hex), SHA3-384 (96 caratteri hex), SHA3-512 (128 caratteri hex). Questo strumento implementa SHA3-256, la variante più comune e quella più direttamente comparabile a SHA-256.
Nota sulla libreria: SHA-3 non è ancora nella specifica Web Crypto API del browser (crypto.subtle supporta solo SHA-1, SHA-256, SHA-384, SHA-512). Questo strumento carica in modo lazy la libreria JavaScript js-sha3 (~10 KB compressa) al primo utilizzo. Dopo quel singolo download, tutto il calcolo gira localmente nel tuo browser — nessun dato di input viene mai trasmesso.
Quando usare SHA-3: nuovi protocolli che richiedono diversità strutturale da SHA-2; MAC con chiave senza il wrapper HMAC (KMAC128/256 per NIST SP 800-185); hedging post-quantistico come backup SHA-2; conformità con i sistemi che richiedono FIPS 202. Quando restare con SHA-256: supporto libraria universale, accelerazione hardware (estensioni SHA-NI), compatibilità con protocolli esistenti e la maggior parte dei casi d'uso di integrità quotidiana dove SHA-256 è già lo standard consolidato.
// SHA-3 (NIST FIPS 202 SHA3-256) using js-sha3 library
import { sha3_256 } from 'js-sha3';
const hash = sha3_256('Hello, World!');
// → '882f4b6991a775295186a4e3cc5ece9fc0b618c8c3e7a7beafdd0f56f13ae43b'
// Note: this differs from Ethereum's keccak256 for the same input:
// keccak256('Hello, World!') = 'acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f'
// The difference is the padding byte: 0x06 (SHA-3) vs 0x01 (original Keccak) Esempi SHA-3
Verifica del vettore di test NIST FIPS 202
abc
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
SHA3-256("abc") = 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 — questo è il vettore di test ufficiale NIST FIPS 202. Incolla "abc" nello strumento e conferma questo output esatto per verificare di star calcolando NIST SHA-3 (non il Keccak originale). Questo singolo test distingue un'implementazione SHA-3 conforme a FIPS da una che usa il byte di padding Keccak precedente.
Distinzione Keccak vs SHA-3 — stesso input, output diverso
Hello
SHA3-256("Hello") da questo strumento (NIST FIPS 202) = 8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22df86f0ab7e30e487e4500. keccak256("Hello") di Ethereum = 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2. Stesso input, diversi output a 64 caratteri hex. La differenza è il suffisso di padding: NIST SHA-3 usa 0x06 mentre il Keccak originale (quello che Ethereum ha congelato nel 2013) usa 0x01. Ethereum precede la standardizzazione di NIST del 2015 e si è permanentemente separato dalla variante FIPS 202.
Hash archiviale post-quantistico
NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management
SHA3-256 fornisce una resistenza alle pre-immagini a 128 bit contro l'algoritmo di Grover su un computer quantistico — lo stesso livello di sicurezza effettivo di SHA-256 contro gli attacchi quantistici. Per i dati che devono rimanere evidenti alle manomissioni oltre il 2050, usare SHA-3 insieme a SHA-256 fornisce difesa in profondità: se viene trovata una violazione nella costruzione di un algoritmo (Merkle-Damgård per SHA-2; spugna Keccak per SHA-3), l'altro rimane sicuro. Vedi anche Generatore SHA-256 per il lato SHA-2 di questo hedge.
Autenticazione con chiave HMAC-SHA3-256
POST /api/ledger
{"amount":250000,"from":"acct-A","to":"acct-B"} HMAC-SHA3-256 è una moderna alternativa a HMAC-SHA-256 per l'autenticazione dei messaggi con chiave. Poiché la costruzione a spugna di SHA-3 è nativamente resistente agli attacchi di estensione di lunghezza (la fase di squeeze scarta lo stato interno), un MAC con chiave SHA3-256 semplice (KMAC, definito in NIST SP 800-185) è anche sicuro — a differenza di SHA-256 grezzo, che richiede il wrapper HMAC per difendersi dalle estensioni di lunghezza. Per le nuove API ad alta garanzia e i sistemi finanziari, HMAC-SHA3-256 (o KMAC128) fornisce garanzie architetturali più forti di HMAC-SHA-256.
Come Generare Hash SHA-3
- 1
Incolla testo nel campo di input
Seleziona la scheda Testo e digita o incolla qualsiasi stringa. L'hash SHA3-256 si aggiorna in tempo reale mentre scrivi. Al primo utilizzo, la libreria js-sha3 (~10 KB) viene scaricata e messa in cache — potresti notare un breve ritardo al primissimo hash; tutti gli hash successivi sono istantanei. L'algoritmo è già impostato su SHA-3 (NIST FIPS 202 SHA3-256).
- 2
Copia l'output hex a 64 caratteri
Clicca il pulsante Copia accanto al risultato dell'hash. La stringa hex minuscola a 64 caratteri viene copiata negli appunti. Usa l'interruttore Maiuscolo se il tuo sistema di destinazione richiede il maiuscolo. Questo output corrisponde a quello che produce qualsiasi implementazione SHA3-256 conforme a FIPS 202 — ma nota che differisce da keccak256 di Ethereum per lo stesso input.
- 3
Verifica con la scheda Confronta
Passa alla scheda Confronta e incolla due hash SHA3-256 affiancati. Lo strumento usa il confronto a tempo costante per riportare corrispondenza o mancata corrispondenza senza perdere informazioni di timing. Utile per verificare i vettori di test NIST CAVP, controllare i manifesti degli archivi o confermare che due implementazioni SHA3-256 producano output identico.
Dettagli Tecnici
- Algoritmo: costruzione a spugna Keccak-f[1600]
- SHA3-256 applica la permutazione Keccak-f[1600] (24 round di operazioni theta, rho, pi, chi, iota su un array di stato 5×5×64) in una costruzione a spugna con velocità=1088 bit e capacità=512 bit. L'input viene assorbito in blocchi da 136 byte (1088 bit); vengono estratti 256 bit di output. Il separatore di dominio FIPS 202 aggiunge 0x06 prima del padding. Implementazione: NIST FIPS 202 (2015) sezione 6.
- Output: SHA3-256 per default, 64 caratteri hex (FIPS 202 definisce anche 224/384/512)
- Questo strumento produce SHA3-256: sempre esattamente 64 caratteri esadecimali (256 bit = 32 byte). NIST FIPS 202 standardizza anche SHA3-224 (56 caratteri), SHA3-384 (96 caratteri) e SHA3-512 (128 caratteri) — tutti usando la stessa permutazione Keccak-f[1600] con diverse suddivisioni velocità/capacità. La lunghezza dell'output è fissa indipendentemente dalla dimensione dell'input.
- Prestazioni: js-sha3 caricato in modo lazy (~10 KB); ~150–400 MB/s nel browser
- A differenza delle rotte SHA-2 (che usano la Web Crypto API nativa del browser), SHA-3 non è nella specifica Web Crypto. Questo strumento carica la libreria js-sha3 (~10 KB compressa) al primo utilizzo, poi la mette in cache. Velocità tipica: 150–400 MB/s in JavaScript, rispetto a 400–700 MB/s per SHA-256 tramite Web Crypto. Per l'hashing di testo (kilobyte) la differenza è impercettibile. Il bundle principale per le altre rotte SHA non è influenzato da questo caricamento lazy.
- Standard: NIST FIPS 202 (2015), NIST SP 800-185 (KMAC), NIST IR 8105
- Standardizzato in FIPS 202 (agosto 2015). NIST SP 800-185 (2016) definisce KMAC128 e KMAC256 — funzioni MAC con chiave basate su SHA-3 che sono nativamente immuni alle estensioni di lunghezza senza il wrapper HMAC. NIST IR 8105 raccomanda le varianti SHA-3 per il margine di sicurezza post-quantistico. Attualmente approvato per tutti i livelli di forza di sicurezza fino al 2030 e oltre ai sensi di NIST SP 800-131A Rev 2.
Best Practice
- Non confondere SHA3-256 con keccak256 di Ethereum
- Sono algoritmi diversi con output diversi per ogni input. Questo strumento calcola NIST FIPS 202 SHA3-256 (byte di padding 0x06).
keccak256di Ethereum usa il padding Keccak originale (0x01). Se stai calcolando hash di indirizzi Ethereum, slot di storage EVM o risultati keccak256() di Solidity, hai bisogno di uno strumento specifico per keccak256 — questo strumento ti darà risposte sbagliate per quei casi d'uso. - Usa SHA-3 come hedge insieme a SHA-256, non come sostituto
- SHA-3 e SHA-2 usano design strutturalmente diversi (spugna vs Merkle-Damgård). Un manifesto dual-hash (SHA-256 + SHA3-256) fornisce difesa in profondità: se viene mai trovata una violazione crittanalitica nella costruzione di una famiglia, l'altra rimane sicura. Per i dati archiviali a lungo termine e i documenti governativi, NIST raccomanda di considerare questo approccio a doppio algoritmo. Per l'uso quotidiano, SHA-256 da solo rimane perfettamente sufficiente.
- Preferisci KMAC rispetto a HMAC-SHA3-256 per i nuovi design MAC con chiave
- NIST SP 800-185 definisce KMAC128 e KMAC256 — MAC con chiave dedicati basati su SHA-3. Poiché la costruzione a spugna è nativamente immune alle estensioni di lunghezza, KMAC non ha bisogno del wrapper di doppio hashing che HMAC richiede per la sicurezza. Per i nuovi protocolli che hanno flessibilità nella scelta dell'algoritmo MAC, KMAC128 (sicurezza a 128 bit) o KMAC256 (sicurezza a 256 bit) sono più puliti e leggermente più efficienti di HMAC-SHA3-256.
- Usa il confronto a tempo costante quando verifichi gli hash SHA-3 nel codice
- Quando confronti due hash SHA3-256 nel codice, usa sempre una funzione di uguaglianza a tempo costante: Node.js
crypto.timingSafeEqual(), Pythonhmac.compare_digest(), Gosubtle.ConstantTimeCompare(). L'uguaglianza di stringhe ingenua (=== o ==) perde informazioni di timing che possono permettere a un attaccante di ricostruire l'hash atteso byte per byte. Questo si applica allo stesso modo a SHA-3 e a tutte le altre funzioni hash. La scheda Confronta di questo strumento usa già il confronto a tempo costante.
Domande Frequenti SHA-3
SHA-3 è lo stesso di Keccak?
0x01 prima del padding; NIST SHA-3 (FIPS 202, 2015) aggiunge 0x06. Questa differenza di un singolo byte significa che SHA3-256 e Keccak-256 producono output a 64 caratteri diversi per ogni input. Gli algoritmi sono strutturalmente identici altrimenti — stessa permutazione Keccak-f[1600], stessa costruzione a spugna. Quando qualcuno dice "Keccak" nel contesto Ethereum/blockchain, quasi sempre intende la variante di padding pre-FIPS originale, non NIST SHA-3. Perché Ethereum usa keccak256, non SHA-3?
keccak256 di Ethereum usa il padding Keccak originale (0x01), mentre il SHA3-256 di questo strumento usa il padding NIST FIPS 202 (0x06). Stesso algoritmo strutturale, output diversi. Non usare mai questo strumento per replicare la derivazione di indirizzi Ethereum o keccak256 EVM — otterrai risultati sbagliati. Cos'è la costruzione a spugna?
Devo usare SHA-3 invece di SHA-2?
SHA-3 è più veloce di SHA-256?
Quanto è lungo un hash SHA-3 da questo strumento?
SHA-3 è resistente ai computer quantistici?
I miei dati vengono inviati a un server quando uso questo strumento?
js-sha3 viene scaricato una volta da un CDN, ~10 KB), tutto l'hashing gira interamente nel tuo browser in JavaScript. Apri DevTools → scheda Network mentre fai l'hash del testo — vedrai zero richieste in uscita che portano i tuoi dati di input. A differenza degli strumenti SHA-2 su questo sito (che usano la Web Crypto API integrata nel browser), SHA-3 non è ancora nella specifica Web Crypto, quindi è necessaria una libreria JavaScript. Il download della libreria è l'unica richiesta di rete; il tuo testo non lascia mai la pagina. Vedi anche: il generatore SHA-256 e il generatore MD5 non usano alcuna libreria esterna. Cos'è stata la competizione NIST SHA-3?
SHA-3 è vulnerabile agli attacchi di estensione di lunghezza?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore JWT
Strumenti di sicurezza
Decodifica token JWT online con il nostro decodificatore JWT gratis. Ispeziona intestazione, payload, firma, scadenza e attestazioni. 100% browser — token mai fuori dal dispositivo. Nessuna registrazione, nessun tracciamento.
Generatore Hash MD5 e Strumento Checksum File
Strumenti di sicurezza
Genera hash MD5, SHA-256, SHA-1 e SHA-512 online gratis. Calcola l'hash di testo o file nel browser, verifica checksum e copia i risultati. Senza registrazione.
Generatore di Password Casuali — Personalizzabile e Sicuro
Strumenti di sicurezza
Genera password casuali sicure all'istante — gratis, 100% nel tuo browser. Personalizza lunghezza e caratteri, batch fino a 50 con analisi entropia.
Generatore Hash SHA-1 (Legacy 160-bit)
Strumenti di sicurezza
Genera hash SHA-1 nel browser — output hex a 40 caratteri, senza upload. Strumento legacy per impronte Git, verifica di vecchi certificati e audit di migrazione. I dati non lasciano mai il tuo dispositivo.
Generatore Hash SHA-256 e Strumento Checksum
Strumenti di sicurezza
Genera hash SHA-256 online gratis. Calcola l'hash di testo o file nel browser, verifica checksum e copia l'output hex a 64 caratteri. Senza registrazione; i dati non lasciano mai la pagina.
Generatore Hash SHA-384 (Hash TLS Suite B)
Strumenti di sicurezza
Genera hash SHA-384 online — output hex a 96 caratteri, immune alle estensioni di lunghezza, conforme a NSA Suite B. Abbinato con AES-256-GCM in TLS. Tutto l'hashing gira nel tuo browser tramite Web Crypto API.