SHA-384 Hash Generator (TLS Suite B hash)
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.
Wat is SHA-384?
SHA-384 is een 384-bit cryptografische hashfunctie in de SHA-2 familie, in 2001 gepubliceerd door NIST als onderdeel van FIPS 180-2. Het is architecturaal een afgekapte variant van SHA-512: beide algoritmen gebruiken identieke 64-bit woordrekenklunde, 80 compressierondes en 1024-bit invoerblokken — de enige verschillen zijn de initialisatievector (IV) en het feit dat SHA-384 de laatste 128 bits van SHA-512's 512-bit output weggooit, wat 384 bits (96 hexadecimale tekens) oplevert.
Waarom de afkapping cryptografisch van belang is: SHA-256 is kwetsbaar voor length-extension aanvallen — gegeven SHA-256(bericht) kan een aanvaller SHA-256(bericht || padding || extensie) berekenen zonder het originele bericht te kennen, door de hash-berekening te hervatten vanuit de gelekte interne toestand. SHA-384 elimineert dit aanvalsoppervlak: de afkapping gooit 128 bits interne toestand weg, zodat de gepubliceerde 384-bit hash niet genoeg informatie bevat om de SHA-512-berekening te hervatten. Dit maakt ruwe SHA-384 (zonder HMAC-wrapper) veilig voor constructies waarbij de hash-output kan worden blootgesteld aan aanvallers.
NSA Suite B en TLS-rol: SHA-384 was verplicht door NSA Suite B (CNSSP-15, 2005) voor TOP SECRET-classificatie. Het is het hash-algoritme in de ciphersuite ECDHE-ECDSA-AES256-GCM-SHA384, de standaard TLS 1.2-ciphersuite voor Suite B-compliant systemen en nog steeds breed ingezet in Amerikaanse overheids-, financiële en defensienetwerken. De CNSA Suite van de NSA (2015) behield SHA-384 naast SHA-256, en SHA-384 verschijnt in TLS 1.3's lijst van handtekeningalgoritmen (ecdsa_secp384r1_sha384).
Prestaties: Op 64-bit hardware draaien SHA-384 en SHA-512 met identieke snelheid — beide gebruiken uitsluitend 64-bit woordbewerkingen. Ze zijn doorgaans sneller dan SHA-256 (dat 32-bit woordbewerkingen gebruikt en meer stappen vereist voor dezelfde invoer) op moderne x86-64 en ARM64-processors.
Deze tool berekent SHA-384 volledig in je browser via crypto.subtle.digest('SHA-384', ...) van de Web Crypto API. De output is bit voor bit identiek aan wat sha384sum, openssl dgst -sha384 of Python's hashlib.sha384() produceren.
Wanneer SHA-384 gebruiken: TLS-ciphersuites die Suite B-compliance verplichten, HMAC-SHA-384 voor TLS 1.2 PRF, HKDF-SHA-384 sleutelafleiding, geclassificeerde documentvingerafdrukken en elke context waarbij length-extension immuniteit vereist is zonder HMAC-wrapper. Wanneer SHA-384 niet gebruiken: algemene checksums en dagelijks integriteitsgebruik — SHA-256 is de standaardkeuze daarvoor, met eenvoudigere bibliotheekondersteuning en universele toolcompatibiliteit.
// Hash text using Web Crypto API (SHA-384)
async function sha384(text) {
const data = new TextEncoder().encode(text);
const hash = await crypto.subtle.digest('SHA-384', data);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0'))
.join('');
}
await sha384('Hello, World!');
// → '5485cc9b3365b4305dfb4e8337e0a598a574f8242bf17289e0dd6c20a3cd44a089de16ab4ab308f63e44b1170eb5f515' SHA-384 voorbeelden
TLS ciphersuite-handshake vingerafdruk
ECDHE-ECDSA-AES256-GCM-SHA384
De naam van de ciphersuite ECDHE-ECDSA-AES256-GCM-SHA384 is de canonieke Suite B ciphersuite voor TOP SECRET TLS-sessies. Het SHA-384 achtervoegsel verwijst naar de PRF (Pseudo-Random Function) die wordt gebruikt in de TLS 1.2-handshake om sessiesleutels af te leiden. Plak deze string om de SHA-384 hash van de naam van de ciphersuite te genereren — een snelle manier om te verifiëren dat je SHA-384 implementatie consistent is in alle omgevingen. In een echte TLS-sessie worden de certificaatketen, het pre-master-geheim en de handshake-transcript allemaal door HMAC-SHA-384 geleid als onderdeel van de TLS 1.2 PRF.
HKDF-SHA-384 sleutelafleiding (TLS 1.2 PRF)
master secret || client random || server random
De PRF van TLS 1.2 (gedefinieerd in RFC 5246) gebruikt HMAC-SHA-384 voor ciphersuites die zijn onderhandeld met SHA-384. Het master-geheim wordt afgeleid van het pre-master-geheim via P_SHA384(pre_master_secret, 'master secret' || ClientHello.random || ServerHello.random). HKDF-SHA-384 (RFC 5869) breidt dit patroon uit voor algemene sleutelafleiding en wordt ook gebruikt in het sleutelschema van TLS 1.3 en IKEv2 (IPsec). Plak hier willekeurig seed-materiaal om de SHA-384 vingerafdruk te genereren vóór het toepassen van HMAC — een eerste stap bij het debuggen van een sleutelafleiding-pipeline.
NSA Suite B geclassificeerde documentvingerafdruk
CLASSIFIED//TS//SI//NF — Document ID: TSC-2026-0001
Het NSA Suite B cryptografisch profiel (CNSSP-15, vervangen door de CNSA Suite in 2018) verplichtte SHA-384 voor integriteit van TOP SECRET documenten. Inlichtingensystemen voorzien geclassificeerde documenten van SHA-384 vingerafdrukken om manipulatie te detecteren. De resulterende 96-tekens hex string wordt opgeslagen in het documentmanifest naast de AES-256-GCM-versleutelde payload. Plak hier een documentheader of ID-string om de SHA-384 vingerafdruk te genereren — handig bij het controleren van verouderde Suite B-archieven of het valideren dat een CNSA-migrerende systeem nog steeds correcte SHA-384 output produceert.
HMAC-SHA-384 berichtauthenticatie
POST /api/v2/transfer
Content-Type: application/json
{"amount":10000,"to":"account-XYZ"} HMAC-SHA-384 wordt gebruikt in high-assurance API's om aanvraagtekst te authenticeren. De server berekent HMAC-SHA-384(geheime_sleutel, canoniek_verzoek) en voegt de hex-samenvatting toe in een Authorization-header; de client reproduceert de berekening en vergelijkt. Omdat SHA-384 immuun is voor length-extension, zelfs in ruwe (niet-HMAC) vorm, biedt het een extra veiligheidsmarge boven HMAC-SHA-256 voor scenario's waarbij de ruwe hash kan worden blootgesteld — bijvoorbeeld in gedistribueerde logboedsystemen of ondertekende URL-schema's. Plak hier de aanvraagtekst om de SHA-384 hash te inspecteren vóór het toevoegen van je HMAC-sleutel.
Zo genereer je SHA-384 hashes
- 1
Tekst plakken of bestand slepen
Selecteer het tabblad Tekst en plak een willekeurige string — een document-ID, aanvraagtekst of willekeurige invoer — in het invoerveld. De SHA-384 hash wordt bijgewerkt terwijl je typt. Voor bestanden ga je naar het tabblad Bestand en sleep je een bestand naar de dropzone; de browser verwerkt het lokaal via de Web Crypto API zonder upload. Een voortgangsindicator verschijnt bij grote bestanden (>10 MB).
- 2
De 96-tekens hash kopiëren
Klik op de knop Kopiëren naast de hash output. De volledige 96-tekens hex string in kleine letters gaat naar je klembord — klaar om te plakken in een TLS-configuratie, nalevingsrapport of HMAC-implementatie. Gebruik de schakelaar Hoofdletters als je doelsysteem hoofdletters hex vereist.
- 3
Vergelijken met een bekende hash
Ga naar het tabblad Vergelijken en plak twee SHA-384 hashes naast elkaar. De tool meldt overeenkomst of geen overeenkomst via constante-tijd vergelijking, die geen timing-informatie lekt. Handig voor het verifiëren van Suite B-nalevings-hashes, het vergelijken van HKDF-SHA-384 afgeleide sleutels in verschillende implementaties, of het controleren van documentvingerafdrukken in geclassificeerde archiefaudits.
Technische details
- Algoritme: SHA-512 met andere IV, output afgekapt tot 384 bits
- SHA-384 is structureel identiek aan SHA-512 (FIPS 180-4 sectie 6.5). Beide gebruiken 80 rondes van 64-bit bewerkingen (Ch, Maj, Σ0, Σ1 functies) met constanten afgeleid van de kubieke en vierkantswortels van de eerste 80 priemgetallen. De initialisatievector (acht 64-bit woorden) verschilt van SHA-512's IV — SHA-384's IV is afgeleid van de fractionele delen van de vierkantswortels van het 9e t/m 16e priemgetal. Na verwerking worden de eerste zes 64-bit woorden van de acht-woord toestand als output gegeven (384 bits); de laatste twee woorden worden weggegooid.
- Output: 384 bits, 96 hexadecimale tekens
- Altijd precies 96 kleine hexadecimale tekens (384 bits = 48 bytes, elke byte gecodeerd als 2 hex-tekens). Vast van lengte, ongeacht de invoergrootte. De 96-tekens lengte is de onmiddellijke vingerafdruk die SHA-384 onderscheidt van SHA-256 (64 tekens) en SHA-512 (128 tekens). De weggegooid 128 bits — de laatste twee 64-bit toestandswoorden — maken SHA-384 bestand tegen length-extension aanvallen.
- Prestaties: identiek aan SHA-512 op 64-bit hardware
- SHA-384 en SHA-512 voeren dezelfde instructiereeks uit op 64-bit CPU's. Beide gebruiken 1024-bit (128-byte) invoerblokken, verwerkt met 64-bit rotaties en optellingen. Doorvoer is doorgaans 500–900 MB/s in een browser via de Web Crypto API (die native C/Rust-code buiten de JS VM aanroept), en 1–3 GB/s in native tools met hardware SHA-extensies. Op 32-bit hardware of zonder hardwareversnelling zijn SHA-384/512 langzamer dan SHA-256 vanwege emulatie van 64-bit gehele-getalsrekenklunde.
- Standaarden: FIPS 180-4, NSA Suite B (verouderd), CNSA (huidig)
- Gestandaardiseerd in FIPS 180-2 (2001), huidige versie FIPS 180-4 (2015). Vereist door NSA Suite B (CNSSP-15, 2005) voor TOP SECRET, nog steeds aanwezig in de CNSA Suite (2015). Gespecificeerd voor TLS in RFC 5246 (TLS 1.2 PRF met SHA-384 ciphersuites), RFC 8446 (TLS 1.3 handtekeningalgoritme ecdsa_secp384r1_sha384) en RFC 5869 (HKDF). Door NIST goedgekeurd voor alle beveiligingsniveaus tot 2030 en daarna onder NIST SP 800-131A Rev 2.
Aanbevolen aanpak
- Gebruik SHA-384 wanneer length-extension immuniteit van belang is zonder HMAC
- Als je protocol de ruwe hash-output blootstelt en een aanvaller zou kunnen proberen het bericht uit te breiden (bijv. bepaalde ondertekende URL- of challenge-response-schema's), biedt SHA-384 ingebouwde length-extension immuniteit die SHA-256 niet heeft. Pas voor al het andere gebruik met sleutel HMAC toe, ongeacht de onderliggende hash — HMAC-SHA-256 en HMAC-SHA-384 zijn beide veilig, en HMAC elimineert length-extension aanvallen voor elke SHA-2 variant.
- Combineer met AES-256-GCM voor Suite B / CNSA-compliance
- Als je een systeem bouwt dat moet voldoen aan NSA Suite B of CNSA-vereisten, is de canonieke combinatie AES-256-GCM voor bulkversleuteling en SHA-384 voor integriteit en sleutelafleiding. TLS 1.2 met ECDHE-ECDSA-AES256-GCM-SHA384 is de referentie-ciphersuite. Voor TLS 1.3 is het equivalent TLS_AES_256_GCM_SHA384 met ecdsa_secp384r1_sha384 als handtekeningalgoritme. Bevestig dat je TLS-bibliotheek deze ciphersuites daadwerkelijk onderhandelt — sommige standaardwaarden geven de voorkeur aan AES-128 varianten, zelfs op Suite B-geconfigureerde systemen.
- Gebruik HMAC-SHA-384 voor keyed MAC in TLS 1.2 PRF-contexten
- De PRF van TLS 1.2 gebruikt HMAC-SHA-384 voor ciphersuites waarbij SHA-384 is onderhandeld (RFC 5246 sectie 5). Als je een TLS 1.2 PRF implementeert of test: PRF(geheim, label, seed) = P_SHA384(geheim, label + seed). Vervang HMAC-SHA-256 niet in een SHA-384 ciphersuite context — de ciphersuite-onderhandeling bepaalt de PRF-hash, en het niet overeenkomen ervan veroorzaakt een handshake-fout. Verifieer met testvectoren van RFC 5705 (keying material exporters) of RFC 6070 (PBKDF2).
- Gebruik constante-tijd vergelijking bij het verifiëren van SHA-384 hashes in code
- Als je twee SHA-384 hashes in code vergelijkt — een documentvingerafdruk verifieert, een MAC controleert — gebruik dan een constante-tijd gelijkheidscontrole: 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 in ~768 vergelijkingen (96 tekens × 8 bits). Dit is een kritieke defense-in-depth maatregel voor elk authenticatiesysteem.
Veelgestelde vragen over SHA-384
Waarom SHA-384 gebruiken in plaats van SHA-256?
Is SHA-384 even veilig als SHA-512?
Is SHA-384 even snel als SHA-512?
Wanneer is HMAC-SHA-384 belangrijk boven HMAC-SHA-256?
Moet ik SHA-384 gebruiken voor algemeen hashen?
Wat is NSA Suite B en wordt het nog steeds gebruikt?
Hoe lang is een SHA-384 hash?
Worden mijn gegevens naar een server verstuurd bij gebruik van deze tool?
crypto.subtle.digest('SHA-384', data)). Open DevTools → tabblad Netwerk terwijl je hasht — je ziet nul uitgaande verzoeken. Bestanden die je toevoegt worden gelezen via de FileReader API en lokaal verwerkt; de bytes verlaten je machine nooit. Dit maakt de tool veilig voor het hashen van geclassificeerde documentvingerafdrukken, TLS privé-sleutelmateriaal of andere gevoelige invoer. Dezelfde privacygarantie geldt voor de SHA-256 generator en SHA-512 generator. 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-3 Hash-generator (Keccak SHA3-256)
Beveiligingstools
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.