SHA-512 Hash Generator

SHA-512-hash genereren uit elke tekst

Invoertekst

Draait lokaal · Veilig om secrets te plakken

SHA-512-hash

SHA-512-hash verschijnt hier…

Wat is SHA-512-hashing?

SHA-512 is een cryptografische hashfunctie gedefinieerd in NIST FIPS 180-4 als het grootste lid van de SHA-2-familie. De functie accepteert invoer van willekeurige lengte en produceert een vaste 512-bits (64 bytes) berichtoverzicht, weergegeven als een hexadecimale reeks van 128 tekens. SHA-512 wordt gebruikt in digitale handtekeningen (Ed25519 maakt intern gebruik van SHA-512), HMAC-constructies, bestandsintegriteitsverificatie en cryptografische protocollen die baat hebben bij een grote veiligheidsmarge.

SHA-512 werkt op 1024-bits (128 bytes) blokken met behulp van 64-bits woordaritmetiek en 80 compressieronden. De acht initiële hashwaarden zijn afgeleid van de gebroken delen van de kwadraatswortels van de eerste acht priemgetallen, en de 80 rondeconstanten komen van de kubusrwortels van de eerste 80 priemgetallen. Omdat SHA-512 native 64-bits bewerkingen gebruikt, is het vaak sneller dan SHA-256 op moderne 64-bits processors, ondanks dat het een langere digest produceert.

SHA-384, SHA-512/224 en SHA-512/256 zijn alle afgekapte varianten van SHA-512 die dezelfde interne structuur delen, maar andere initiële hashwaarden gebruiken en minder bits als uitvoer geven. Wanneer je de maximale digestlengte van de SHA-2-familie nodig hebt, of wanneer een protocol specifiek SHA-512 vereist (zoals Ed25519 of bepaalde HMAC-gebaseerde sleutelafleiding), is SHA-512 de juiste keuze. Het biedt 256 bits botsingsresistentie, vergelijkbaar met SHA-3-512 en ruim boven de 128-bits grens van SHA-256.

Waarom een online SHA-512 Generator gebruiken?

Een SHA-512-hash berekenen vereist doorgaans een terminalopdracht of een paar regels code. Dit browsergebaseerde hulpmiddel laat je SHA-512-digests direct genereren zonder software te installeren, naar een terminal te wisselen of wegwerpscripts te schrijven.

Directe berekening in de browser
Plak of typ tekst en ontvang onmiddellijk de volledige SHA-512-hash van 128 tekens. De Web Crypto API verwerkt de berekening native zonder overhead van een JavaScript-bibliotheek.
🔒
Privacy-first hashing
Je invoer verlaat je apparaat nooit. Alle hashing verloopt lokaal via de ingebouwde Web Crypto API van de browser. Er worden geen gegevens naar een server verzonden, gelogd of opgeslagen.
📋
Kopieerklare uitvoerformaten
Ontvang de SHA-512-hash in kleine letters of hoofdletters hex met één klik. Handig wanneer je checksums vergelijkt van pakketbeheerders, SBOM-manifesten of beveiligingsdocumentatie.
🔍
Geen account of installatie
Werkt in elke moderne browser — Chrome, Firefox, Safari, Edge. Geen aanmelding, geen extensie, geen CLI-configuratie vereist. Open de pagina en begin met hashing.

Toepassingen van de SHA-512 Hash Generator

Frontend Developer — Ed25519 Handtekeningdebugging
Ed25519 gebruikt SHA-512 intern om de ondertekeningssleutel af te leiden en berichtdigests te berekenen. Genereer SHA-512-hashes van testpayloads om tussenliggende waarden te verifiëren bij het implementeren of debuggen van Ed25519-handtekeningflows.
Backend Engineer — HMAC-SHA512-validatie
Webhooksystemen en API-authenticatieschema's (OAuth 1.0a, sommige betaalgateways) gebruiken HMAC-SHA512 voor berichtondertekening. Bereken referentie SHA-512-hashes om je HMAC-implementatie te controleren tijdens ontwikkeling.
DevOps — Verificatie van artefacten en binaries
Verifieer SHA-512-checksums van gedownloade binaries, containerimages of firmware voordat je deze naar productie uitrolt. Veel Linux-distributies leveren SHA-512-checksums bij hun ISO-images.
QA Engineer — FIPS 180-4 Testvektor-validatie
Vergelijk SHA-512-uitvoer met NIST-testvectoren uit het Cryptographic Algorithm Validation Program (CAVP) om te bevestigen dat je hashimplementatie opvulling en randgevallen correct verwerkt.
Data Engineer — Vingerafdrukken van grote sleutels
Hash samengestelde sleutels of grote recordpayloads met SHA-512 om deterministische vingerafdrukken te maken voor deduplicatie in datapipelines. De 512-bits uitvoer minimaliseert het botsingsrisico zelfs bij miljarden records.
Student — Het lawine-effect verkennen
Wijzig één teken in de invoer en zie hoe de volledige SHA-512-uitvoer van 128 tekens onvoorspelbaar verandert. Dit demonstreert de lawineeigenschap die hashfuncties nuttig maakt in de cryptografie.

Vergelijking van SHA-2-familievarianten

SHA-512 behoort tot de SHA-2-familie zoals gedefinieerd in FIPS 180-4. De onderstaande tabel vergelijkt de SHA-2-varianten die de interne 64-bits architectuur van SHA-512 delen, met SHA-256 als referentie.

VariantDigestgrootteHex-lengteBytesGeschikt voor
SHA-256256 bits64 hex chars32 bytesTLS certificates, blockchain, JWTs, SRI
SHA-384384 bits96 hex chars48 bytesTLS 1.3 CertificateVerify, CNSA/Suite B
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC, Ed25519, file integrity
SHA-512/224224 bits56 hex chars28 bytesSHA-512 speed on 64-bit CPUs, 224-bit output
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

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

Het juiste hashalgoritme hangt af van je beveiligingseisen, prestatiebeperkingen en protocolspecificaties. SHA-512 biedt de breedste digest in de SHA-2-familie en is vaak sneller dan SHA-256 op 64-bits hardware. Deze vergelijking behandelt de eigenschappen die het meest relevant zijn bij het kiezen tussen deze algoritmen.

EigenschapSHA-512SHA-256SHA-384SHA-3-512
Digest size512 bits (128 hex)256 bits (64 hex)384 bits (96 hex)512 bits (128 hex)
Block size1024 bits512 bits1024 bits1600 bits (sponge)
Word size64 bits32 bits64 bitsN/A (sponge)
Rounds80648024
Collision resistance2^256 operations2^128 operations2^192 operations2^256 operations
Security statusSecureSecureSecureSecure
StandardFIPS 180-4FIPS 180-4FIPS 180-4FIPS 202
Web Crypto APIYesYesYesNo
64-bit optimizedYesNo (32-bit words)YesYes
Primary use todayEd25519, HMAC, file checksumsTLS, blockchain, SRITLS 1.3, CNSABackup standard

Hoe SHA-512 intern werkt

SHA-512 verwerkt invoer via een Merkle–Damgård-constructie met 1024-bits blokken. Het initialiseert acht 64-bits toestandswoorden (H0–H7) afgeleid van de gebroken delen van de kwadraatswortels van de eerste acht priemgetallen. Elk blok doorloopt 80 mengingsronden die bitsgewijze bewerkingen (AND, XOR, NOT, rechtsrotatie, rechtsschuif) op 64-bits woorden gebruiken, gecombineerd met 80 rondeconstanten afgeleid van de kubusrwortels van de eerste 80 priemgetallen.

Input: "hello world"
SHA-512: 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f
989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f
(512 bits = 64 bytes = 128 hex characters)
StapBeschrijving
PaddingAppend a 1-bit, then zeros until the message length is 896 mod 1024. Append the original length as a 128-bit big-endian integer.
Block splittingDivide the padded message into 1024-bit (128-byte) blocks.
Message scheduleExpand each 16-word (64-bit) block into 80 words using sigma functions with right-rotate and right-shift operations on 64-bit values.
CompressionProcess 80 rounds per block using Ch, Maj, and two Sigma functions with 80 round constants derived from the cube roots of the first 80 primes.
OutputConcatenate the eight 64-bit state words (H0–H7) into a 512-bit (64-byte) digest, rendered as 128 hexadecimal characters.

De bredere 64-bits woordgrootte is het belangrijkste onderscheid ten opzichte van SHA-256. Op 64-bits CPU's verwerkt elke bewerking twee keer zoveel bits per cyclus, waardoor SHA-512 in benchmarks vaak beter presteert dan SHA-256, ondanks dat het 80 ronden uitvoert in plaats van 64. Het lawine-effect zorgt ervoor dat het omdraaien van één invoerbit ongeveer 50% van alle 512 uitvoerbits verandert.

SHA-512 codevoorbeelden

SHA-512 wordt native ondersteund in elke grote taal en runtime. De Web Crypto API biedt het in browsers zonder bibliotheek. De onderstaande voorbeelden behandelen veelvoorkomende patronen, waaronder Unicode-verwerking en het hashen van bestanden.

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

await sha512('hello world')
// → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f989dd35bc5ff499670da34255b45b0cfd830e81f605dcf7dc5542e93ae9cd76f"

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

# Basic SHA-512 hash
result = hashlib.sha512(b'hello world').hexdigest()
print(result)
# → "309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee..."

# Hash a string with Unicode (encode to bytes first)
text = 'café ☕'
hashlib.sha512(text.encode('utf-8')).hexdigest()
# → 128-character hex string

# Hash a large file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha512()
    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")
    hash := sha512.Sum512(data)
    fmt.Printf("%x\n", hash)
    // → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee511a7c7a9bcd3ca86d4cd86f...
}
CLI (Linux / macOS)
# Using sha512sum (Linux) or shasum (macOS)
echo -n "hello world" | sha512sum
# → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee...  -

# macOS
echo -n "hello world" | shasum -a 512
# → 309ecc489c12d6eb4cc40f50c902f2b4d0ed77ee...  -

# Verify a file checksum
echo "309ecc48...  myfile.bin" | sha512sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha512
# → SHA2-512(stdin)= 309ecc489c12d6eb4cc40f50c902f2b4...

Veelgestelde vragen

Is SHA-512 veiliger dan SHA-256?
SHA-512 biedt 256 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-512 512 bits vs. 256 bits. Beide worden beschouwd als veilig tegen alle bekende aanvallen tot 2026, maar SHA-512 biedt een grotere veiligheidsmarge. In de praktijk is de 128-bits botsingsresistentie van SHA-256 al ver buiten het bereik van wat rekenkundig haalbaar is om te kraken.
Is SHA-512 langzamer dan SHA-256?
Op 64-bits processors is SHA-512 doorgaans sneller dan SHA-256 omdat het werkt met native 64-bits woorden. Op 32-bits of ingebedde systemen is SHA-512 langzamer, omdat elke 64-bits bewerking moet worden nagebootst met meerdere 32-bits instructies. Voor de meeste moderne desktop-, server- en mobiele CPU's (allemaal 64-bits) biedt SHA-512 gelijke of betere doorvoer dan SHA-256.
Wat is het verschil tussen SHA-512 en SHA-512/256?
SHA-512/256 gebruikt hetzelfde interne algoritme als SHA-512 (1024-bits blokken, 80 ronden, 64-bits woorden), maar begint met andere initiële hashwaarden en kapt de uitvoer af tot 256 bits. Dit geeft je de snelheid van SHA-512 op 64-bits hardware met een uitvoergrootte vergelijkbaar met SHA-256. SHA-512/256 is ook inherent bestand tegen length-extension-aanvallen omdat de afkapping de interne toestand verwijdert die een aanvaller anders zou kunnen gebruiken.
Waarom gebruikt Ed25519 SHA-512?
Het Ed25519-handtekeningschema gebruikt SHA-512 op twee plaatsen: eerst om de 256-bits ondertekeningsscalar en een nonce-prefix af te leiden van de 32-bytes private-key-seed, en vervolgens om het bericht te hashen tijdens het ondertekenen. SHA-512 werd gekozen omdat het een 512-bits uitvoer produceert die in twee 256-bits helften kan worden gesplitst, en de 64-bits bewerkingen aansluiten bij de 255-bits kromaritmetiek van Curve25519.
Kan SHA-512 worden omgekeerd om de originele invoer te achterhalen?
Nee. SHA-512 is een eenrichtingsfunctie met 512 bits preimage-resistentie. Er is geen bekende methode om de invoer te achterhalen die sneller is dan een brute-force-zoekopdracht over 2^512 mogelijkheden — een getal groter dan het geschatte aantal atomen in het waarneembare heelal. Korte of voorspelbare invoer kan echter worden gevonden via woordenboekaanvallen, waardoor wachtwoorden altijd dedicated KDF's zoals bcrypt of Argon2 moeten gebruiken in plaats van rauwe SHA-512.
Wordt SHA-512 ondersteund in de Web Crypto API?
Ja. Alle moderne browsers implementeren SHA-512 via crypto.subtle.digest('SHA-512', data). Dit is dezelfde API die door dit hulpmiddel wordt gebruikt. Het is ook beschikbaar in Node.js 18+, Deno en Bun. 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-512 gebruiken in plaats van SHA-256?
Gebruik SHA-512 wanneer een protocol het vereist (Ed25519, bepaalde HMAC-schema's), wanneer je meer dan 128 bits botsingsresistentie nodig hebt, of wanneer je op 64-bits hardware draait en maximale doorvoer wilt. SHA-512 heeft ook de voorkeur voor bestandsintegriteits-checksums wanneer de langere digest acceptabel is, omdat de bredere hashruimte de kans op toevallige botsingen in zeer grote datasets verkleint. Voor de meeste webapplicaties, API's en TLS blijft SHA-256 de standaardkeuze.