SHA-3 Hash-generator (Keccak SHA3-256)
Genereer SHA-3 hashes online gratis. NIST FIPS 202 sponge-constructie — de post-SHA-2 standaard. SHA3-256 output in 64 hex-tekens. Alleen browser via lazy-loaded js-sha3; geen uploads.
Wat is SHA-3?
SHA-3 (Secure Hash Algorithm 3) is de derde generatie van NIST's Secure Hash Standard, gestandaardiseerd in FIPS 202 in augustus 2015. In tegenstelling tot SHA-1 en SHA-2, die zijn gebaseerd op de Merkle-Damgård-constructie, gebruikt SHA-3 een radicaal ander ontwerp genaamd de sponge-constructie — een keuze die NIST bewust maakte om te garanderen dat een cryptanalytische doorbraak van SHA-2 SHA-3 niet automatisch zou compromitteren.
De NIST SHA-3-competitie (2007–2012): NIST vroeg in 2007 wereldwijd om openbare inzendingen. Na drie evaluatieronden werden 64 kandidaten teruggebracht tot vijf finalisten: BLAKE, Grøstl, JH, Keccak en Skein. In oktober 2012 werd Keccak — ontworpen door Guido Bertoni, Joan Daemen, Michaël Peeters en Gilles Van Assche van STMicroelectronics en NXP Semiconductors — geselecteerd als winnaar. Alle vijf finalisten werden als veilig beschouwd; het unieke sponge-gebaseerde ontwerp van Keccak gaf het de structurele diversiteit die NIST prioriteit gaf.
De sponge-constructie: SHA-3 absorbeert invoer in een 1600-bit toestand (de Keccak-f[1600] permutatie) in de absorptiefase, en perst daarna outputbits uit de toestand in de uitpersing-fase. Voor SHA3-256 is de snelheids-/capaciteitsverhouding 1088/512 bits. Omdat slechts 256 van de 1600 interne toestandsbits in de output verschijnen, kan een aanvaller de volledige toestand niet uit de hash reconstrueren — waardoor length-extension aanvallen structureel onmogelijk zijn. Dit staat in contrast met SHA-256, waarbij de volledige interne toestand in de output wordt blootgesteld, waarvoor HMAC nodig is om length-extension aanvallen te voorkomen.
SHA-3 versus Keccak — het paddingverschil: NIST wijzigde de originele Keccak-inzending door de domeinscheiding-padding te veranderen van 0x01 naar 0x06. Dit betekent dat NIST SHA3-256 en originele Keccak-256 voor elke invoer verschillende 64-hex-tekens output produceren. Dit is geen theoretische kwestie — het is de reden waarom Ethereum's keccak256 (bevroren voordat FIPS 202 werd gefinaliseerd) verschilt van de SHA3-256 output van deze tool voor dezelfde string. Gebruik deze tool nooit om Ethereum-adresafleiding te repliceren.
FIPS 202 definieert vier SHA-3 varianten: SHA3-224 (56 hex-tekens), SHA3-256 (64 hex-tekens), SHA3-384 (96 hex-tekens), SHA3-512 (128 hex-tekens). Deze tool implementeert SHA3-256, de meest gangbare variant en de meest direct vergelijkbaar met SHA-256.
Bibliotheekopmerking: SHA-3 maakt nog geen deel uit van de Web Crypto API-specificatie van de browser (crypto.subtle ondersteunt alleen SHA-1, SHA-256, SHA-384, SHA-512). Deze tool laadt de js-sha3 JavaScript-bibliotheek (~10 KB gecomprimeerd) bij het eerste gebruik. Na die ene download worden alle berekeningen lokaal in je browser uitgevoerd — er worden nooit invoergegevens verzonden.
Wanneer SHA-3 gebruiken: nieuwe protocollen die structurele diversiteit van SHA-2 vereisen; keyed MAC's zonder de HMAC-wrapper (KMAC128/256 per NIST SP 800-185); post-quantum afdekking als SHA-2 back-up; compliance met systemen die FIPS 202 verplichten. Wanneer bij SHA-256 blijven: universele bibliotheekondersteuning, hardwareversnelling (SHA-NI extensies), bestaande protocolcompatibiliteit en de meeste dagelijkse integriteitsgebruiksgevallen waarbij SHA-256 al de gevestigde standaard is.
// 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) SHA-3 voorbeelden
NIST FIPS 202 testvector verifiëren
abc
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
SHA3-256("abc") = 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 — dit is de officiële NIST FIPS 202 testvector. Plak "abc" in de tool en bevestig deze exacte output om te verifiëren dat je NIST SHA-3 berekent (niet originele Keccak). Deze ene test onderscheidt een FIPS-conforme SHA-3 implementatie van een die de oudere Keccak-paddingbyte gebruikt.
Keccak versus SHA-3 onderscheid — zelfde invoer, andere output
Hello
SHA3-256("Hello") van deze tool (NIST FIPS 202) = 8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22df86f0ab7e30e487e4500. Ethereum's keccak256("Hello") = 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2. Zelfde invoer, verschillende 64-hex-tekens output. Het verschil is het padding-achtervoegsel: NIST SHA-3 gebruikt 0x06 terwijl originele Keccak (dat Ethereum in 2013 heeft bevroren) 0x01 gebruikt. Ethereum dateert van vóór NIST's standaardisering in 2015 en heeft permanent een afsplitsing gemaakt van de FIPS 202 variant.
Post-quantum archief-hash
NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management
SHA3-256 biedt 128-bit preimage-weerstand tegen Grover's algoritme op een kwantumcomputer — hetzelfde effectieve beveiligingsniveau als SHA-256 tegen kwantumaaanvallen. Voor gegevens die na 2050 aantoonbaar ongewijzigd moeten blijven, biedt het gebruik van SHA-3 naast SHA-256 verdediging in de diepte: als een doorbraak wordt gevonden in de constructie van één algoritme (Merkle-Damgård voor SHA-2; Keccak sponge voor SHA-3), blijft het andere veilig. Institutionele archieven en overheidsdocumenten gebruiken steeds vaker dubbele-hash-manifesten (SHA-256 + SHA3-256) als beveiligingsafdekking. Zie ook SHA-256 Generator voor de SHA-2 kant van deze afdekking.
HMAC-SHA3-256 keyed authenticatie
POST /api/ledger
{"amount":250000,"from":"acct-A","to":"acct-B"} HMAC-SHA3-256 is een modern alternatief voor HMAC-SHA-256 voor keyed berichtauthenticatie. Omdat SHA-3's sponge-constructie van opzet bestand is tegen length-extension aanvallen (de squeeze-fase verwijdert interne toestand), is een gewone SHA3-256 keyed MAC (KMAC, gedefinieerd in NIST SP 800-185) ook veilig — anders dan gewone SHA-256, dat de HMAC-wrapper nodig heeft om te verdedigen tegen length-extension aanvallen. Voor nieuwe high-assurance API's en financiële systemen biedt HMAC-SHA3-256 (of KMAC128) sterkere architecturale garanties dan HMAC-SHA-256. Plak hier een canonieke aanvraagtekst om de SHA3-256 vingerafdruk te inspecteren vóór het toepassen van HMAC.
Zo genereer je SHA-3 hashes
- 1
Tekst in het invoerveld plakken
Selecteer het tabblad Tekst en typ of plak een willekeurige string. De SHA3-256 hash wordt live bijgewerkt terwijl je typt. Bij het eerste gebruik wordt de js-sha3 bibliotheek (~10 KB) opgehaald en gecached — je merkt mogelijk een korte vertraging bij de allereerste hash; alle volgende hashes zijn direct. Het algoritme staat al op SHA-3 (NIST FIPS 202 SHA3-256).
- 2
De 64-tekens hex output kopiëren
Klik op de knop Kopiëren naast het hash-resultaat. De 64-tekens hex string in kleine letters wordt naar je klembord gekopieerd. Gebruik de schakelaar Hoofdletters als je doelsysteem hoofdletters vereist. Deze output komt overeen met wat elke FIPS 202-conforme SHA3-256 implementatie produceert — maar let op dat het verschilt van Ethereum's keccak256 voor dezelfde invoer.
- 3
Verifiëren met het tabblad Vergelijken
Ga naar het tabblad Vergelijken en plak twee SHA3-256 hashes naast elkaar. De tool gebruikt constante-tijd vergelijking om overeenkomst of geen overeenkomst te melden zonder timing-informatie te lekken. Handig voor het verifiëren van NIST CAVP testvectoren, het controleren van archief-manifesten, of het bevestigen dat twee SHA3-256 implementaties identieke output produceren.
Technische details
- Algoritme: Keccak-f[1600] sponge-constructie
- SHA3-256 past de Keccak-f[1600] permutatie toe (24 rondes van theta, rho, pi, chi, iota-bewerkingen op een 5×5×64 toestandsarray) in een sponge-constructie met snelheid=1088 bits en capaciteit=512 bits. Invoer wordt geabsorbeerd in 136-byte (1088-bit) blokken; 256 bits output worden uitgeperst. De FIPS 202 domeinscheider voegt 0x06 toe vóór padding. Implementatie: NIST FIPS 202 (2015) sectie 6.
- Output: SHA3-256 standaard, 64 hexadecimale tekens (FIPS 202 definieert ook 224/384/512)
- Deze tool geeft SHA3-256 als output: altijd precies 64 hexadecimale tekens (256 bits = 32 bytes). NIST FIPS 202 standaardiseert ook SHA3-224 (56 tekens), SHA3-384 (96 tekens) en SHA3-512 (128 tekens) — allemaal met dezelfde Keccak-f[1600] permutatie maar met verschillende snelheids-/capaciteitsverhoudingen. De output-lengte is vast, ongeacht de invoergrootte.
- Prestaties: lazy-loaded js-sha3 (~10 KB); ~150–400 MB/s in browser
- In tegenstelling tot SHA-2 routes (die de ingebouwde Web Crypto API van de browser gebruiken) maakt SHA-3 geen deel uit van de Web Crypto-specificatie. Deze tool laadt de js-sha3 bibliotheek (~10 KB gecomprimeerd) bij het eerste gebruik en cachet deze daarna. Typische doorvoer: 150–400 MB/s in JavaScript, versus 400–700 MB/s voor SHA-256 via Web Crypto. Voor tekst-verwerking (kilobytes) is het verschil onmerkbaar. De hoofdbundel voor andere SHA-routes wordt niet beïnvloed door deze lazy load.
- Standaarden: NIST FIPS 202 (2015), NIST SP 800-185 (KMAC), NIST IR 8105
- Gestandaardiseerd in FIPS 202 (augustus 2015). NIST SP 800-185 (2016) definieert KMAC128 en KMAC256 — op SHA-3 gebaseerde keyed MAC-functies die van opzet immuun zijn voor length-extension aanvallen zonder de HMAC-wrapper. NIST IR 8105 beveelt SHA-3 varianten aan voor post-quantum beveiligingsmarges. Momenteel goedgekeurd voor alle beveiligingsniveaus tot 2030 en daarna onder NIST SP 800-131A Rev 2.
Aanbevolen aanpak
- Verwar SHA3-256 niet met Ethereum's keccak256
- Het zijn verschillende algoritmen met verschillende output voor elke invoer. Deze tool berekent NIST FIPS 202 SHA3-256 (paddingbyte 0x06). Ethereum's
keccak256gebruikt originele Keccak-padding (0x01). Als je Ethereum-adressen berekent, EVM-opslagslots of Solidity keccak256()-resultaten, heb je een keccak256-specifieke tool nodig — deze tool geeft je verkeerde antwoorden voor die gebruiksgevallen. - Gebruik SHA-3 als aanvulling op SHA-256, niet als vervanging
- SHA-3 en SHA-2 gebruiken structureel verschillende ontwerpen (sponge versus Merkle-Damgård). Een dubbel-hash-manifest (SHA-256 + SHA3-256) biedt verdediging in de diepte: als ooit een cryptanalytische doorbraak wordt gevonden in de constructie van één familie, blijft de andere veilig. Voor langetermijnarchiveergegevens en overheidsdossiers beveelt NIST aan deze benadering met twee algoritmen te overwegen. Voor dagelijks gebruik volstaat SHA-256 alleen.
- Geef de voorkeur aan KMAC boven HMAC-SHA3-256 voor nieuwe keyed MAC-ontwerpen
- NIST SP 800-185 definieert KMAC128 en KMAC256 — doelgebouwde keyed MAC's op basis van SHA-3. Omdat de sponge-constructie van opzet immuun is voor length-extension aanvallen, heeft KMAC de dubbele hash-wrapper niet nodig die HMAC voor veiligheid vereist. Voor nieuwe protocollen die flexibiliteit hebben in de keuze van MAC-algoritme, zijn KMAC128 (128-bit beveiliging) of KMAC256 (256-bit beveiliging) eenvoudiger en iets efficiënter dan HMAC-SHA3-256.
- Gebruik constante-tijd vergelijking bij het verifiëren van SHA-3 hashes in code
- Gebruik bij het vergelijken van twee SHA3-256 hashes in code altijd een constante-tijd gelijkheidsfunctie: Node.js
crypto.timingSafeEqual(), Pythonhmac.compare_digest(), Gosubtle.ConstantTimeCompare(). Naïeve stringvergelijking (=== of ==) lekt timing-informatie waarmee een aanvaller de verwachte hash byte voor byte kan reconstrueren. Dit geldt evenzeer voor SHA-3 als voor alle andere hashfuncties. Het tabblad Vergelijken van deze tool gebruikt al constante-tijd vergelijking.
Veelgestelde vragen over SHA-3
Is SHA-3 hetzelfde als Keccak?
0x01 toe vóór padding; NIST SHA-3 (FIPS 202, 2015) voegt 0x06 toe. Dit enkelvoudige byte-verschil betekent dat SHA3-256 en Keccak-256 voor elke invoer verschillende 64-tekens output produceren. De algoritmen zijn structureel verder identiek — dezelfde Keccak-f[1600] permutatie, dezelfde sponge-constructie. Wanneer iemand in de Ethereum/blockchain context "Keccak" zegt, bedoelen ze bijna altijd de originele pre-FIPS paddings-variant, niet NIST SHA-3. Waarom gebruikt Ethereum keccak256 en niet SHA-3?
keccak256 gebruikt de originele Keccak-padding (0x01), terwijl de SHA3-256 van deze tool de NIST FIPS 202-padding (0x06) gebruikt. Hetzelfde structurele algoritme, andere output. Gebruik deze tool nooit om Ethereum-adresafleiding of EVM keccak256 te repliceren — je krijgt verkeerde resultaten. Wat is de sponge-constructie?
Moet ik SHA-3 gebruiken in plaats van SHA-2?
Is SHA-3 sneller dan SHA-256?
Hoe lang is een SHA-3 hash van deze tool?
Is SHA-3 kwantumbestendig?
Worden mijn gegevens naar een server verstuurd bij gebruik van deze tool?
js-sha3 script wordt eenmalig opgehaald van een CDN, ~10 KB) worden alle hash-berekeningen volledig in je browser in JavaScript uitgevoerd. Open DevTools → tabblad Netwerk terwijl je tekst hasht — je ziet nul uitgaande verzoeken met je invoergegevens. In tegenstelling tot de SHA-2 tools op deze site (die de ingebouwde Web Crypto API van de browser gebruiken) maakt SHA-3 nog geen deel uit van de Web Crypto-specificatie, waardoor een JavaScript-bibliotheek vereist is. De download van de bibliotheek is het enige netwerkverzoek; je tekst verlaat de pagina nooit. Zie ook: de SHA-256 generator en MD5 generator gebruiken helemaal geen externe bibliotheek. Wat was de NIST SHA-3-competitie?
Is SHA-3 kwetsbaar voor length-extension aanvallen?
Gerelateerde tools
Alle tools bekijken →JWT decoderen — online JWT-decoder
Beveiligingstools
Decodeer JWT-tokens direct in je browser. Inspecteer header, payload, signature, vervaldatum en claims. 100% privé — je token verlaat je apparaat nooit.
Online MD5 Hash Generator & Checksum Tool
Beveiligingstools
Genereer MD5-, SHA-256-, SHA-1- en SHA-512-hashes gratis in je browser. Hash tekst of bestanden, verifieer checksums en kopieer resultaten. Geen account nodig.
Willekeurig wachtwoord genereren — online generator
Beveiligingstools
Genereer direct sterke willekeurige wachtwoorden — gratis, 100% in je browser. Stel lengte en tekens in, batch tot 50 met entropie-analyse.
SHA-1 Hash Generator (160-bit, verouderd)
Beveiligingstools
Genereer SHA-1 hashes in je browser — 40-tekens hex output, geen upload. Verouderd algoritme voor Git-vingerafdrukken, oude certificaatcontroles en migratieaudits. Je data verlaat je apparaat niet.
SHA-256 Hash-generator & Checksumtool
Beveiligingstools
Genereer SHA-256 hashes online gratis. Hash tekst of bestanden in je browser, verifieer checksums en kopieer 64-tekens hex output. Geen account nodig; je data verlaat de pagina niet.
SHA-384 Hash Generator (TLS Suite B hash)
Beveiligingstools
Genereer SHA-384 hashes online — 96-tekens hex output, immuun voor length-extension, NSA Suite B-compliant. Gecombineerd met AES-256-GCM in TLS. Alle hash-berekeningen in je browser via Web Crypto API.