SHA-384 Hash Generator

SHA-384-hash genereren van willekeurige tekst

Invoertekst

Draait lokaal · Veilig om secrets te plakken

SHA-384-hash

SHA-384-hash verschijnt hier…

Wat is SHA-384-hashing?

SHA-384 is een cryptografische hashfunctie gedefinieerd in NIST FIPS 180-4 als onderdeel van de SHA-2-familie. De functie accepteert invoer van willekeurige lengte en produceert een vaste 384-bits (48 byte) berichtoverzicht, doorgaans weergegeven als een hexadecimale reeks van 96 tekens. SHA-384 wordt veelvuldig gebruikt in TLS-cipher suites, digitale certificaathandtekeningen en overheidssystemen waarvoor een grotere botsingsresistentiemarge vereist is dan SHA-256 biedt.

Intern is SHA-384 een afgekapte variant van SHA-512. Het gebruikt dezelfde 1024-bits blokgrootte, 80 compressieronden en 64-bits woordaritmetiek als SHA-512, maar begint met een andere set initiële hashwaarden (afgeleid van de 9e t/m 16e priemgetallen) en geeft alleen de eerste 384 bits van de eindtoestand terug. Door deze afkapping produceert SHA-384 een andere digest dan SHA-512 voor identieke invoer, ondanks het gebruik van hetzelfde kernalgoritme.

Omdat SHA-384 werkt met 64-bits woorden, draait het sneller dan SHA-256 op moderne 64-bits processors en levert het tegelijkertijd een grotere digest. Dit maakt het een praktisch compromis: sterker dan SHA-256 (192-bits botsingsresistentie vs. 128-bits) zonder de opslagoverhead van de 128-tekens hex-uitvoer van SHA-512. SHA-384 is de standaardhash voor TLS 1.3-certificaatverificatiehandtekeningen en is vereist door NSA Suite B (nu CNSA) voor TOP SECRET-gegevens.

Waarom een online SHA-384 Generator gebruiken?

SHA-384-hashes genereren vereist doorgaans een terminalopdracht of het schrijven van code. Met dit browsergebaseerde hulpmiddel bereken je SHA-384-digests direct zonder iets te installeren of gegevens naar een server te sturen. Of je nu een SRI-hash voor een CDN-bestand wilt genereren, een bestandschecksum wilt verifiëren of SHA-384-uitvoer wilt vergelijken met SHA-256 voor dezelfde invoer — dit hulpmiddel geeft je een directe, installatievrije manier om met SHA-384-digests te werken in elke moderne browser.

Directe berekening in de browser
Plak tekst en ontvang onmiddellijk een SHA-384-hash van 96 tekens. De Web Crypto API verwerkt de berekening native in je browser zonder externe afhankelijkheden.
🔒
Privacy-first hashing
Je invoer verlaat je apparaat nooit. Alle hashing verloopt lokaal via de Web Crypto API — geen serververzoeken, geen logging, geen gegevensbewaring.
📋
Kopieerklare uitvoerformaten
Schakel met één klik tussen kleine letters en hoofdletters in de hex-uitvoer. Kopieer de hash naar je klembord voor gebruik in checksumbestanden, configuratie of documentatie.
🔍
Geen account of installatie
Werkt in elke moderne browser — Chrome, Firefox, Safari, Edge. Geen aanmelding, geen extensie, geen CLI-configuratie vereist.

Toepassingen van de SHA-384 Hash Generator

TLS-certificaatverificatie
TLS 1.2 en 1.3 gebruiken SHA-384 bij certificaathandtekeningverificatie en de PRF (pseudorandom function). Bereken SHA-384-digests om certificaat-fingerprints te valideren tegen verwachte waarden tijdens beveiligingsaudits.
Subresource Integrity (SRI)
Genereer SHA-384-hashes voor JavaScript- en CSS-bestanden die worden geladen vanaf CDN's. Het integrity-attribuut in script- en link-tags gebruikt standaard Base64-gecodeerd SHA-384 in de meeste SRI-generators.
Overheids- en compliancesystemen
CNSA (voorheen NSA Suite B) verplicht SHA-384 voor de bescherming van geclassificeerde informatie. Genereer hashes om documentintegriteit te verifiëren in compliance-workflows die FIPS 180-4-algoritmen vereisen.
Bestandsintegriteitscontrole
Bereken SHA-384-checksums voor firmware-images, softwarereleases of configuratiebestanden. Vergelijk de hash voor en na overdracht om beschadiging of manipulatie te detecteren.
HMAC-SHA384-sleutelafleiding
SHA-384 wordt gecombineerd met HMAC voor berichtauthenticatie in protocollen zoals IPsec en TLS. Gebruik dit hulpmiddel om verwachte hashuitvoer te verifiëren bij het debuggen van HMAC-SHA384-implementaties.
Academische cryptografie-oefeningen
Studenten die de SHA-2-familie bestuderen, kunnen de SHA-384-uitvoer vergelijken met die van SHA-256 en SHA-512 voor dezelfde invoer om te zien hoe verschillende initialisatievectoren en afkapping leiden tot afwijkende digests.

Vergelijking van SHA-2-familievarianten

SHA-384 behoort tot de SHA-2-familie, samen met diverse andere varianten. De onderstaande tabel laat zien hoe ze verschillen in digestgrootte, uitvoerlengte en typische toepassingen.

VariantDigestHex-lengteBytesGeschikt voor
SHA-384384 bits96 hex chars48 bytesTLS 1.2/1.3, government/CNSA, certificate signatures
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-384 vs SHA-256 vs SHA-512 vs SHA-3-384

De keuze tussen SHA-384 en andere hashalgoritmen hangt af van je beveiligingseisen, platformbeperkingen en prestatiebehoeften. Deze vergelijking behandelt de meest relevante eigenschappen.

EigenschapSHA-384SHA-256SHA-512SHA-3-384
Digest size384 bits (96 hex)256 bits (64 hex)512 bits (128 hex)384 bits (96 hex)
Internal state512 bits (8x64-bit)256 bits (8x32-bit)512 bits (8x64-bit)1600 bits (sponge)
Block size1024 bits512 bits1024 bits832 bits
Rounds80648024
Word size64 bits32 bits64 bitsN/A (sponge)
Length extensionResistantVulnerableVulnerableResistant
64-bit performanceFast (native ops)Slower (32-bit ops)Fast (native ops)Moderate
StandardFIPS 180-4FIPS 180-4FIPS 180-4FIPS 202
Web Crypto APIYesYesYesNo

Hoe SHA-384 intern werkt

SHA-384 verwerkt invoer via dezelfde Merkle–Damgård-constructie als SHA-512. De invoer wordt aangevuld tot een veelvoud van 1024 bits, opgedeeld in blokken en elk blok wordt verwerkt via 80 mengingsronden met behulp van de functies Ch, Maj en twee Sigma-functies met 64-bits woordaritmetiek. Het belangrijkste verschil met SHA-512 zijn de initiële hashwaarden: SHA-384 gebruikt waarden afgeleid van de gebroken delen van de kwadraatswortels van de 9e t/m 16e priemgetallen, terwijl SHA-512 de eerste 8 priemgetallen gebruikt. Na verwerking van alle blokken kapt SHA-384 de interne 512-bits toestand af tot de eerste 384 bits.

Input: "hello world"
SHA-384: fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
(384 bits = 48 bytes = 96 hex characters)

De afkapping en de andere initialisatie zorgen ervoor dat SHA-384 en SHA-512 altijd verschillende digests produceren voor dezelfde invoer. Dit maakt SHA-384 ook inherent bestand tegen length-extension-aanvallen, in tegenstelling tot SHA-256 en SHA-512, waarbij een aanvaller data kan toevoegen en een geldige hash kan berekenen zonder het originele bericht te kennen.

SHA-384 codevoorbeelden

SHA-384 wordt native ondersteund in alle grote talen en runtimes. Hieronder staan werkende voorbeelden die je direct in je projecten kunt gebruiken.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha384(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-384', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha384('hello world')
// → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha384').update('hello world').digest('hex')
// → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"
Python
import hashlib

# Basic SHA-384 hash
result = hashlib.sha384(b'hello world').hexdigest()
print(result)
# → "fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd"

# Hash a string with Unicode characters
text = 'café ☕'
hashlib.sha384(text.encode('utf-8')).hexdigest()
# → 96-character hex string

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha384()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha512"
    "fmt"
)

func main() {
    data := []byte("hello world")
    // SHA-384 lives in the crypto/sha512 package
    hash := sha512.Sum384(data)
    fmt.Printf("%x\n", hash)
    // → fdbd8e75a67f29f701a4e040385e2e23986303ea10239211af907fcbb83578b3e417cb71ce646efd0819dd8c088de1bd
}
CLI (Linux / macOS)
# Using sha384sum (Linux)
echo -n "hello world" | sha384sum
# → fdbd8e75a67f29f701a4e040385e2e23...  -

# macOS
echo -n "hello world" | shasum -a 384
# → fdbd8e75a67f29f701a4e040385e2e23...  -

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha384
# → SHA2-384(stdin)= fdbd8e75a67f29f701a4e040385e2e23986303ea...

# Verify a file checksum
sha384sum myfile.bin > checksum.txt
sha384sum -c checksum.txt
# → myfile.bin: OK

Veelgestelde vragen

Wat is het verschil tussen SHA-384 en SHA-512?
SHA-384 en SHA-512 gebruiken dezelfde compressiefunctie, blokgrootte (1024 bits) en aantal ronden (80). Ze verschillen op twee punten: SHA-384 begint met andere initiële hashwaarden (afgeleid van priemgetallen 9–16 in plaats van 1–8) en geeft alleen de eerste 384 bits van de 512-bits interne toestand terug. Dit betekent dat ze altijd verschillende digests produceren voor dezelfde invoer.
Is SHA-384 veiliger dan SHA-256?
SHA-384 biedt 192 bits botsingsresistentie tegenover 128 bits voor SHA-256, gebaseerd op de birthday-attack-grens van de helft van de digestlengte. Voor preimage-resistentie biedt SHA-384 384 bits vs. 256 bits. In de praktijk worden beide als veilig beschouwd voor huidige dreigingsmodellen, maar SHA-384 biedt een grotere veiligheidsmarge voor langdurige gegevensbescherming en is vereist door sommige overheidsstandaarden.
Waarom gebruikt TLS SHA-384 in plaats van SHA-512?
TLS-cipher suites zoals TLS_AES_256_GCM_SHA384 gebruiken SHA-384 omdat dit voldoende botsingsresistentie (192 bits) biedt terwijl de digestgrootte beheersbaar blijft. De 128-tekens hex-uitvoer van SHA-512 voegt overhead toe aan handshake-berichten en certificaatketens zonder een evenredige beveiligingswinst voor TLS. SHA-384 sluit ook aan bij het 192-bits beveiligingsniveau dat AES-256 nastreeft.
Hoe wordt SHA-384 gebruikt in Subresource Integrity (SRI)?
SRI-tags in HTML gebruiken de notatie integrity="sha384-{base64hash}" om te verifiëren dat scripts en stylesheets van CDN's niet zijn gewijzigd. De browser berekent de SHA-384-hash van het gedownloade bestand en vergelijkt die met de verwachte waarde. Als ze niet overeenkomen, wordt de resource geblokkeerd. SHA-384 is het meest gebruikte algoritme voor SRI omdat het beveiliging en digestgrootte in balans houdt.
Kan SHA-384 worden omgekeerd om de originele invoer te achterhalen?
Nee. SHA-384 is by design een eenrichtingsfunctie. Het heeft 384 bits preimage-resistentie, wat betekent dat er geen bekende methode bestaat om de invoer uit een SHA-384-digest te achterhalen die sneller is dan een brute-force-zoekopdracht over 2^384 mogelijkheden. Korte of voorspelbare invoer (zoals veelgebruikte wachtwoorden) kan echter worden gevonden met behulp van voorberekende rainbow tables of woordenboekaanvallen. Gebruik daarom voor wachtwoorden altijd speciale algoritmen zoals bcrypt of Argon2.
Wordt SHA-384 ondersteund in de Web Crypto API?
Ja. Alle moderne browsers implementeren SHA-384 via crypto.subtle.digest('SHA-384', data). Dit is dezelfde API die door dit hulpmiddel wordt gebruikt. Het is ook beschikbaar in Node.js 18+ en Deno. De Web Crypto API retourneert een ArrayBuffer die je converteert naar een hexadecimale reeks door elke byte te mappen naar zijn twee-tekens hexadecimale weergave.
Wanneer moet ik SHA-384 gebruiken in plaats van SHA-256?
Gebruik SHA-384 wanneer je beveiligingsbeleid meer dan 128 bits botsingsresistentie vereist, wanneer je compliance met CNSA/Suite B nodig hebt voor geclassificeerde gegevens, of wanneer je al AES-256 gebruikt en een overeenkomend 192-bits beveiligingsniveau wilt. SHA-384 draait ook sneller dan SHA-256 op 64-bits processors omdat het native 64-bits woordoperaties gebruikt. Voor de meeste webapplicaties en algemene hashing blijft SHA-256 de standaardkeuze.