Skip to content

SHA-256 Hash-generator & Checksumtool

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.

Geen tracking Draait in je browser Gratis
Alle hash-berekeningen worden lokaal in je browser uitgevoerd. Er worden geen gegevens naar een server verstuurd.
Algoritme
Beoordeeld op SHA-256 correctheid aan de hand van NIST FIPS 180-4 testvectoren — Go Tools Engineering Team · May 28, 2026

Wat is SHA-256?

SHA-256 (Secure Hash Algorithm, 256-bit) is de meest breed ingezette cryptografische hashfunctie in de SHA-2 familie, ontworpen door de Amerikaanse National Security Agency en in 2001 gepubliceerd door NIST als onderdeel van FIPS 180-2. Het neemt elke invoer — tekst, bestand of byte-stroom — en produceert een vaste 256-bit (64 hexadecimale tekens) vingerafdruk die de invoer met cryptografische zekerheid uniek identificeert.

SHA-256 heeft alle collision-aanvallen weerstaan sinds publicatie. De NIST FIPS 180-4 specificatie is actueel; het is goedgekeurd voor gebruik door de Amerikaanse federale overheid, PCI DSS, FIPS 140-3 en de internetstandaarden van IETF. Het ondersteunt TLS-certificaten (de vingerafdruk die browsers tonen in cert-dialogen), Git's moderne object-ID formaat (sinds Git 2.29 in SHA-256-modus), Bitcoin's transactie-ID's en proof-of-work, JWT handtekeningverificatie (de JWS HS256, RS256, ES256 familie) en de integriteitskolom van elke grote pakketbeheerder (npm, pip, cargo, apt).

Deze tool berekent SHA-256 volledig in je browser via crypto.subtle.digest('SHA-256', ...) van de Web Crypto API — dezelfde primitief die browsers intern gebruiken voor TLS-handshakes. Er worden geen bytes geüpload; er is geen server bij betrokken. De hash die je ziet is precies wat sha256sum, OpenSSL's dgst -sha256 of Python's hashlib.sha256() zou produceren.

Wanneer SHA-256 gebruiken: bestandsintegriteitsverificatie, content-geadresseerde opslag, workflows voor digitale handtekeningen, certificaatvingerafdrukken, cache-busting via content-hashing, deduplicatie. Wanneer SHA-256 niet gebruiken: wachtwoordopslag (gebruik bcrypt, scrypt of Argon2 — SHA-256 is veel te snel voor wachtwoordbeveiliging), HMAC zonder de juiste constructie (gebruik een speciale HMAC-bibliotheek) of als algemeen willekeurig ID (gebruik in plaats daarvan UUID).

Ter vergelijking: SHA-256 produceert 64 hex-tekens versus MD5's 32 (gebroken sinds 2004), SHA-1's 40 (gebroken sinds 2017), SHA-384's 96 en SHA-512's 128. De 256-bit output geeft 128 bits collision-weerstand — ver buiten elke voorzienbare computationele aanval.

// Hash text using Web Crypto API (SHA-256)
async function sha256(text) {
  const data = new TextEncoder().encode(text);
  const hash = await crypto.subtle.digest('SHA-256', data);
  return Array.from(new Uint8Array(hash))
    .map(b => b.toString(16).padStart(2, '0'))
    .join('');
}

await sha256('Hello, World!');
// → 'dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f'

SHA-256 voorbeelden

Ubuntu ISO-download verifiëren

ubuntu-24.04.iso

Sleep de gedownloade ISO naar het tabblad Bestand; de tool berekent SHA-256 in blokken en toont voortgang voor grote bestanden. Vergelijk de resulterende hash met het SHA256SUMS-bestand dat Ubuntu publiceert op releases.ubuntu.com. Een overeenkomst bevestigt dat de download bit-identiek is aan wat Canonical heeft ondertekend — de standaard integriteitscontrole voor elke Linux-distributie.

TLS-certificaat voorzien van een vingerafdruk

-----BEGIN CERTIFICATE-----MIIDXTCCAkWg...

Plak een PEM-gecodeerd certificaat (zonder de BEGIN/END-markeringen als je toolchain onbewerkte DER hex verwacht). De SHA-256 vingerafdruk is wat wordt weergegeven in browser-certificaatdialogen en in HTTP Public Key Pinning-headers. Moderne browsers tonen dit als 32 hex-bytes gescheiden door dubbele punten; deze tool geeft je de aaneengesloten 64-teken vorm, wat de meeste API's en configuratiebestanden verwachten.

Content hash genereren voor cache-busting

/* CSS file contents */

Een veelvoorkomend patroon voor statische sites: bereken een hash van de inhoud van een CSS- of JS-bestand, voeg de eerste 8 tekens van de hash toe als querystring (?v=a1b2c3d4) of bestandsnaam-achtervoegsel (app.a1b2c3d4.css), en serveer met een 1-jaar cache-header. Wanneer de inhoud verandert, verandert de hash en worden caches deterministisch vernieuwd. SHA-256 is hiervoor geschikt omdat collisions in de praktijk onhaalbaar zijn — zelfs afgekapt tot 8 tekens is een accidentele collision astronomisch onwaarschijnlijk voor een enkele site.

Pre-image opzoeken verificatie

password123
ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f

SHA-256 hash van 'password123' is ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f. Het punt van dit voorbeeld is het gevaar: gebruik nooit gewone SHA-256 voor wachtwoordopslag — het is veel te snel (een moderne GPU berekent miljarden hashes per seconde via brute force). Gebruik voor wachtwoorden bcrypt, scrypt of Argon2 met een goede salt en kostenparameters. SHA-256 is voor integriteit, niet voor opslaan van geheimen.

Zo genereer je SHA-256 hashes

  1. 1

    Tekst plakken of bestand slepen

    Selecteer het tabblad Tekst en plak een willekeurige string in het invoerveld, of ga naar het tabblad Bestand en sleep een bestand van je bureaublad naar de dropzone. De SHA-256 algoritme-selector is al actief. Het hashen gebeurt terwijl je typt — geen knop om op te drukken. Voor bestanden toont een voortgangsindicator bij grote uploads (>10 MB).

  2. 2

    De 64-tekens hash kopiëren

    Klik op de knop Kopiëren naast de hash output. De volledige 64-tekens hex waarde gaat naar je klembord. Gebruik de schakelaar Hoofdletters/Kleine letters als je downstream-systeem een specifiek hoofdlettergebruik vereist — Git gebruikt kleine letters, sommige Windows-tools gebruiken standaard hoofdletters.

  3. 3

    Verifiëren met het tabblad Vergelijken

    Ga naar het tabblad Vergelijken en plak twee SHA-256 hashes (bijv. de jouwe en die van een uitgever). De tool meldt overeenkomst/geen overeenkomst met constante-tijd vergelijking, zodat het resultaat geen timing-informatie lekt. Handig voor het verifiëren van gedownloade ISO-bestanden, container-image digests of ondertekende JAR vingerafdrukken.

Technische details

Algoritme: SHA-2 familie, Merkle-Damgård-constructie
SHA-256 verwerkt invoer in 512-bit blokken, waarbij 64 rondes van bitsgewijze bewerkingen (rotaties, XOR's, optelling modulo 2^32) worden toegepast met constanten afgeleid van de kubieke wortels van de eerste 64 priemgetallen. De uiteindelijke hash is de interne toestand na het laatste blok. Implementatie: FIPS 180-4 secties 4.2 en 6.2.
Output: 256 bits, 64 hexadecimale tekens
Altijd precies 64 tekens in het bereik [0-9a-f] (kleine letters) of [0-9A-F] (hoofdletters). Verschillende coderingen (Base64, Base64URL) verkorten de string; deze tool geeft de canonieke hex-vorm.
Prestaties: ~500 MB/s in browser, ~2 GB/s native
Web Crypto's SHA-256 implementatie is gecompileerde C/Rust die buiten de JS VM draait, waardoor het vergelijkbaar is met native tools. Typische hash-snelheid in browser: 300–800 MB/s. Een bestand van 1 GB wordt verwerkt in 1–3 seconden.
Standaarden: FIPS 180-4, RFC 6234, NIST SP 800-107
Momenteel goedgekeurd door NIST voor alle beveiligingsniveaus tot 2030 en daarna. Vereist door PCI DSS 4.0 voor integriteit van kaarthoudergegevens, door FedRAMP en door Common Criteria EAL2+ evaluaties.

Aanbevolen aanpak

Hash altijd UTF-8 bytes, niet Unicode code-punten
Verschillende coderingen van dezelfde string produceren verschillende hashes. UTF-8 is de de-facto standaard; deze tool codeert invoer als UTF-8 vóór het hashen. Als je een tool moet matchen die UTF-16 gebruikt (sommige Windows API's) of Latin-1, moet je extern vooraf coderen.
Gebruik constante-tijd vergelijking bij het verifiëren
Als je twee hashes in code vergelijkt, gebruik dan een constante-tijd gelijkheidscontrole (timingsafe_equal in Node.js, hmac.compare_digest in Python). Naïeve === of strcmp lekt timing-informatie die kan worden misbruikt om de hash te achterhalen. Het tabblad Vergelijken van deze tool gebruikt al constante-tijd vergelijking.
SHA-256 afkappen is acceptabel voor niet-beveiligde toepassingen
Voor cache-busting bestandsnamen of korte content-ID's is het nemen van de eerste 8 of 16 hex-tekens van een SHA-256 hash prima — de kans op collision is nog steeds astronomisch klein op internetschaal. Voor cryptografisch gebruik (handtekeningen, vingerafdrukken) bewaar je altijd de volledige 64 tekens.
Gebruik een salt voor elk gebruik met sleutel
Als je SHA-256 gebruikt om een sleutel of token af te leiden van een geheim, voeg dan altijd een unieke salt per invoer toe. Zonder salt produceren identieke invoerwaarden identieke hashes — wat informatie lekt. Beter: gebruik HKDF (RFC 5869) of HMAC-SHA-256 in plaats van gewone SHA-256 voor sleutelafleiding.

Veelgestelde vragen over SHA-256

Wat is SHA-256 en hoe verschilt het van MD5 of SHA-1?
SHA-256 is een 256-bit cryptografische hashfunctie in de SHA-2 familie, ontworpen door de NSA en gestandaardiseerd door NIST in FIPS 180-4. Het produceert een 64-tekens hexadecimale output. In tegenstelling tot MD5 (128-bit, gebroken sinds 2004) en SHA-1 (160-bit, gebroken sinds 2017) blijft SHA-256 cryptografisch veilig: er is nooit een praktische collision gevonden. Het is de huidige industriestandaard voor digitale handtekeningen, certificaatvingerafdrukken, blockchain transactie-ID's en integriteitsverificatie.
Hoe lang is een SHA-256 hash?
Altijd 64 hexadecimale tekens (256 bits = 32 bytes, gecodeerd als 2 hex-tekens per byte). De output-lengte is vast, ongeacht de invoergrootte — een invoer van 1 byte en een invoer van 10 GB produceren beide 64 hex-tekens. Deze vaste lengte maakt het nuttig als vingerafdruk.
Is SHA-256 veilig voor wachtwoordopslag?
Nee. SHA-256 is te snel — een moderne GPU kan miljarden SHA-256 hashes per seconde berekenen, wat precies is wat een aanvaller wil voor het brute-forcen van wachtwoorden. Gebruik een opzettelijk traag wachtwoord-hash: bcrypt, scrypt of Argon2id, elk met een goede salt en een hoge kostenparameter. SHA-256 is voor integriteit (verifiëren dat gegevens niet zijn gemanipuleerd), niet voor het opslaan van geheimen. Gebruik de wachtwoord generator voor de invoerkant; gebruik een speciale wachtwoord-hash bibliotheek op de server.
Kan SHA-256 worden teruggedraaid om de originele invoer te vinden?
Nee. SHA-256 is een eenrichtingsfunctie: gegeven een hash, is er geen efficiënt algoritme om de invoer te achterhalen. De enige algemene aanval is brute force — elke mogelijke invoer proberen en elk resultaat hashen. Voor willekeurige invoer is dit computationeel onhaalbaar. De uitzondering: korte, voorspelbare invoer (veelgebruikte wachtwoorden, eenvoudige woorden) kan worden opgezocht in rainbow tables, wat de reden is waarom salting van wachtwoorden belangrijk is.
Wat is het verschil tussen SHA-256 en SHA-2?
SHA-2 is de familienaam; SHA-256 is één specifiek lid. De SHA-2 familie omvat ook SHA-512 (512-bit), SHA-384 (afgekapte SHA-512), SHA-224 (afgekapte SHA-256), SHA-512/224 en SHA-512/256. Alle delen dezelfde Merkle-Damgård-constructie met verschillende woordgroottes en afkapregels. SHA-256 is het meest breed ingezette lid — het is wat TLS, JWT, Git en Bitcoin standaard gebruiken.
Worden mijn gegevens naar een server verstuurd bij gebruik van deze tool?
Nee. SHA-256 wordt volledig in je browser berekend via de Web Crypto API (crypto.subtle.digest). Open DevTools → tabblad Netwerk terwijl je hasht — je ziet nul uitgaande verzoeken. Het bestand dat je in bestandsmodus toevoegt, wordt gelezen via de FileReader API en lokaal verwerkt; de bytes verlaten je machine nooit. Dit maakt de tool veilig voor het hashen van vertrouwelijke documenten, bedrijfseigen code of gevoelige checksums.
Hoe verifieer ik een SHA-256 checksum van een download?
1) Download het bestand. 2) Open deze tool en klik op het tabblad Bestand. 3) Sleep het bestand naar de dropzone. 4) Wacht tot de hash is berekend (grote bestanden duren enkele seconden). 5) Open het SHA256SUMS-bestand van de uitgever. 6) Plak beide hashes in het tabblad Vergelijken — groen betekent overeenkomst, rood betekent dat het bestand beschadigd of gemanipuleerd is. De meeste Linux-distributies, taalruntimes (Python, Node.js) en softwareleveranciers publiceren SHA-256 checksums naast hun downloads voor precies dit doel.
Waarom verschilt mijn SHA-256 output van een commandoregel-tool?
Bijna altijd witruimte of codering. Het shell-commando `echo "hello" | sha256sum` bevat een afsluitende nieuwe regel (\n), dus de hash is voor "hello\n" niet "hello". Gebruik `echo -n "hello"` om die te verwijderen. Andere valkuilen: Windows-regeleinden (\r\n vs \n), UTF-8 BOM of het verschil tussen het hashen van UTF-8 bytes versus UTF-16 bytes. SHA-256 is uiterst gevoelig — één byte verschil verandert de volledige output.
Kan SHA-256 een leeg bestand hashen?
Ja. De SHA-256 van nul bytes is een bekende constante: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855. Dit wordt soms gebruikt als schildwachtwaarde of als snelle verificatie dat de hash-pipeline correct is aangesloten.
Moet ik SHA-256 of SHA-512 gebruiken?
Gebruik SHA-256 voor de meeste gevallen — het is sneller op 32-bit hardware, universeel ondersteund en biedt 128 bits beveiligingssterkte tegen collisions. Gebruik SHA-512 wanneer je op 64-bit hardware zit waar het daadwerkelijk sneller is, of wanneer je specifiek 256 bits collision-weerstand nodig hebt voor cryptografische protocollen die dat vereisen. Voor dagelijks gebruik (bestandschecksums, Git, TLS) is SHA-256 de standaard.

Gerelateerde tools

Alle tools bekijken →