Skip to content

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.

Niente tracciamento Funziona nel browser Gratuito
L'hashing SHA-3 gira nel tuo browser tramite la libreria js-sha3. Nessun dato viene trasmesso a un server.
Algoritmo
Revisionato per la correttezza SHA3-256 rispetto ai vettori di test NIST FIPS 202 CAVP; distinzione di padding Keccak vs SHA-3 verificata — Team di Ingegneria Go Tools · May 28, 2026

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. 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. 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. 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). keccak256 di 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(), Python hmac.compare_digest(), Go subtle.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?
Simile, ma non identico. SHA-3 è basato sull'algoritmo Keccak, che ha vinto la competizione NIST SHA-3 2007-2012, ma NIST ha cambiato la regola di padding durante la standardizzazione. Il Keccak originale aggiunge un byte suffisso 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?
Ethereum è stato progettato nel 2013-2014 e lanciato nel 2015 — prima che NIST finalizzasse SHA-3 nell'agosto 2015. Quando il protocollo di Ethereum è stato congelato, l'implementazione di riferimento era la proposta originale del team Keccak. NIST ha poi cambiato il padding durante la standardizzazione, ma Ethereum non poteva adottare retroattivamente la variante FIPS 202 senza rompere il consenso (ogni nodo deve calcolare hash identici). Il risultato è un fork permanente: 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?
La costruzione a spugna è l'alternativa di SHA-3 al chaining Merkle-Damgård di SHA-2. Invece di comprimere l'input blocco per blocco in uno stato hash corrente (Merkle-Damgård), la spugna ha due fasi: assorbimento (l'input viene XORato in una porzione dello stato e mescolato con la permutazione Keccak-f[1600] ripetutamente) e spremitura (i bit di output vengono letti dallo stato). Il vantaggio critico di sicurezza: lo stato interno è più grande dell'output — SHA3-256 usa uno stato da 1600 bit ma produce solo 256 bit, lasciando 1344 bit di stato nascosto. Un attaccante che vede solo l'output a 256 bit non può ricostruire lo stato completo per estendere il messaggio, rendendo gli attacchi di estensione di lunghezza strutturalmente impossibili senza un wrapper. Questo differisce da SHA-256, che richiede HMAC per prevenire l'estensione di lunghezza.
Devo usare SHA-3 invece di SHA-2?
Non per default — sia SHA-256 che SHA3-256 sono attualmente sicuri e approvati da NIST. SHA-3 è progettato come backup strutturale per SHA-2: poiché usano design completamente diversi (Merkle-Damgård vs spugna), una violazione in un algoritmo non compromette l'altro. Usa SHA-3 quando: (1) il tuo protocollo lo richiede esplicitamente, (2) hai bisogno di immunità alle estensioni di lunghezza senza il wrapper HMAC, (3) stai costruendo un nuovo sistema che vuole l'agilità degli algoritmi a prova di futuro, o (4) la tua organizzazione richiede un hash di backup SHA-3 insieme a SHA-256. Per i checksum quotidiani dei file e le impronte dei certificati, SHA-256 rimane lo standard universale con un supporto libreria e hardware migliore.
SHA-3 è più veloce di SHA-256?
Nel software, di solito più lento. SHA3-256 raggiunge tipicamente 150–400 MB/s nel JavaScript del browser, rispetto a 400–700 MB/s per SHA-256 tramite la Web Crypto API (che usa l'implementazione SHA-2 nativa, a livello C, del browser). Nell'hardware dedicato e negli ASIC (ad es. chip di sicurezza personalizzati), la permutazione Keccak-f[1600] di SHA-3 è spesso più veloce perché si parallelizza meglio e usa solo operazioni bitwise semplici (XOR, AND, rotazione) — nessuna addizione modulare. SHA-3 supera anche SHA-2 sull'hardware embedded a 32 bit in molti casi. Per gli strumenti basati su browser questo divario di prestazioni è impercettibile; per l'hashing di file in blocco conta.
Quanto è lungo un hash SHA-3 da questo strumento?
Questo strumento usa per default SHA3-256, che produce sempre esattamente 64 caratteri esadecimali (256 bit = 32 byte, 2 caratteri hex per byte). NIST FIPS 202 definisce anche SHA3-224 (56 caratteri hex), SHA3-384 (96 caratteri hex) e SHA3-512 (128 caratteri hex). Tutti condividono la stessa permutazione Keccak-f[1600]; solo la suddivisione capacità/velocità e la lunghezza dell'output differiscono. Per confronto: SHA-256 produce anche 64 caratteri hex, ma sono stringhe a 64 caratteri diversi per lo stesso input.
SHA-3 è resistente ai computer quantistici?
Parzialmente. L'algoritmo di Grover su un computer quantistico può fare la radice quadrata dello spazio di ricerca di qualsiasi funzione hash, riducendo effettivamente della metà il livello di sicurezza. SHA3-256 ha 256 bit di resistenza alle pre-immagini, che viene ridotta a 128 bit sotto un attacco quantistico — ancora sicura in qualsiasi modello di minaccia near-term credibile. L'importante vantaggio rispetto a SHA-2: la costruzione a spugna di SHA-3 è indipendente da Merkle-Damgård, quindi non è influenzata da nessuna tecnica crittanalitica specifica della funzione di compressione di SHA-2. La guida post-quantistica di NIST raccomanda SHA-3 come hash preferito per i nuovi protocolli che vogliono diversità di design insieme a SHA-2.
I miei dati vengono inviati a un server quando uso questo strumento?
No. Dopo il caricamento iniziale della libreria (lo script 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?
NIST ha condotto una competizione aperta dal 2007 al 2012 per selezionare un terzo standard Secure Hash Algorithm — non per sostituire SHA-2 (che rimane sicuro), ma per diversificare il panorama degli algoritmi hash nel caso SHA-2 venga mai violato. 64 proposte iniziali sono state ridotte a 5 finalisti: BLAKE, Grøstl, JH, Keccak e Skein. Keccak, progettato da Guido Bertoni, Joan Daemen, Michaël Peeters e Gilles Van Assche (da STMicroelectronics e NXP Semiconductors), è stato selezionato come vincitore nell'ottobre 2012 e standardizzato come SHA-3 in NIST FIPS 202 nell'agosto 2015. La sua selezione è stata notevole per aver scelto un design fondamentalmente diverso da SHA-2 piuttosto che una variante evolutiva.
SHA-3 è vulnerabile agli attacchi di estensione di lunghezza?
No — per design. Gli attacchi di estensione di lunghezza sfruttano il fatto che le costruzioni Merkle-Damgård (SHA-256, SHA-512, MD5) espongono lo stato interno nell'output dell'hash, permettendo a un attaccante di aggiungere dati a un messaggio hashato senza conoscere il prefisso segreto. La costruzione a spugna di SHA-3 evita completamente questo problema: lo stato interno da 1600 bit è più grande dell'output a 256 bit, quindi l'output non rivela abbastanza stato per estendere il messaggio. Questo significa che puoi usare SHA3-256 semplice come primitiva MAC con chiave (KMAC) in modo sicuro, mentre usare SHA-256 grezzo come MAC con chiave (HASH(chiave || messaggio)) è insicuro senza il wrapper HMAC.

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.