§

Plak tekst of sleep een bestand om te hashen

Codering
§

Hash-generator — SHA-256, MD5, SHA-1 online

Alle vier de digests worden lokaal in je browser berekend. Er wordt niets geüpload.
§

MD5

Verouderd
§

SHA-1

Verouderd
§

SHA-256

§

SHA-512

NCSC-NL adviseert SHA-256 of SHA-512 voor elke nieuwe checksum-keten in Nederlandse productiesystemen; MD5 en SHA-1 worden in best practices van de Rijksoverheid alleen nog voor legacy-bestandsvergelijking aanvaard. Praktijkscenario's: ondertekende SBR-aangiften die de Belastingdienst aanlevert komen vergezeld van SHA-256-digests, GitLab-NL- en GitHub-mirrors van Nederlandse fintechteams gebruiken SHA-1-commit-IDs en bunq, ING en ABN AMRO publiceren manifest-hashes voor hun open-banking-SDK-releases. Voor AVG-conforme audit-trails wordt de digest van een verwerkingsregister vaak naast de export bewaard zodat manipulatie achteraf detecteerbaar blijft. Sleep een bestand of plak een tekst in deze tool: WebCrypto draait lokaal, dus inhoudelijke persoonsgegevens uit een MijnOverheid- of KvK-export verlaten de browser niet.

Wat is een cryptografische hash?

Een cryptografische hashfunctie neemt een invoer van willekeurige lengte en levert een digest van vaste lengte. Dezelfde invoer produceert altijd dezelfde digest; het omdraaien van één bit verandert ongeveer de helft van de uitvoerbits. Deze tool berekent vier van de meest gebruikte digests — MD5 (RFC 1321), SHA-1, SHA-256 en SHA-512 (de SHA-familie is gedefinieerd in FIPS 180-4) — voor elke tekst of elk bestand dat je aanlevert, zonder dat de gegevens ooit je apparaat verlaten.

Hoe werkt deze hash-generator?

Hashen gebeurt volledig op jouw apparaat. SHA-1, SHA-256 en SHA-512 worden doorgegeven aan de native crypto.subtle.digest-API van de browser; MD5 gebruikt een meegeleverde public-domain implementatie omdat Web Crypto geen MD5 levert. De stappen zijn:

  1. Je invoer wordt uit het tekstveld gelezen, of je bestand wordt vanaf schijf in een ArrayBuffer ingelezen. Tekst wordt in UTF-8 gecodeerd vóór het hashen zodat de digest overeenkomt met wat een server-side hashlib.sha256(text.encode())-aanroep zou opleveren.
  2. Elk algoritme vult het bericht aan tot een blokgrens en verwerkt het blok voor blok, waarbij invoerbytes via een reeks bitwise- en modulair-rekenkundige bewerkingen worden gemengd met de interne toestand.
  3. Wanneer het laatste blok is verwerkt wordt de interne toestand afgerond: MD5 levert 128 bits, SHA-1 levert 160 bits, SHA-256 levert 256 bits en SHA-512 levert 512 bits.
  4. De ruwe digest-bytes worden geformatteerd als kleine letters in hexadecimaal of als standaard Base64, afhankelijk van de codering die je boven de panelen kiest.
  5. Elke digest wordt geschreven naar een eigen alleen-lezen tekstveld met een Kopiëren-knop. Zet Live-modus aan om bij elke toetsaanslag opnieuw te hashen en het lawine-effect in realtime te zien.

Welk hash-algoritme moet ik gebruiken?

De vier algoritmen die hier worden geleverd bestrijken het hele spectrum van oude checksums tot huidige cryptografische aanbevelingen. Kies op basis van de taak, niet op basis van bekendheid:

  • MD5 (128 bits) — snel en alomtegenwoordig, maar cryptografisch gebroken. Praktische collisions zijn sinds 2004 openbaar. Gebruik het alleen voor niet-veiligheidsgerelateerde checksums: deduplicatiesleutels, cache-busters, ETag-achtige vingerafdrukken en het verifiëren van bestandsintegriteit tegen een vertrouwde catalogus.
  • SHA-1 (160 bits) — ook afgeraden voor beveiliging. De SHAttered-aanval demonstreerde in 2017 een openbare PDF-collision. Nog steeds te zien in oude Git-object-ID's, oudere TLS-certificaten en HMAC-constructies waar de onderliggende hash-breuk de sleutel nog niet lekt. Neem het niet op in nieuw werk.
  • SHA-256 (256 bits) — de huidige algemene standaardkeuze. Gebruikt in TLS-certificaat-vingerafdrukken, Bitcoin-blokhashes, software-release-checksums, container image digests en de meeste moderne code-signing-pipelines. Kies dit bij twijfel.
  • SHA-512 (512 bits) — dezelfde SHA-2-familie als SHA-256 met een grotere interne toestand en bredere 64-bits woordgrootte. Vaak sneller dan SHA-256 op 64-bits CPU's en de voorkeur als je extra collision-marge of langere digests nodig hebt voor HMAC-sleutels.

Waarom deze hash-generator gebruiken?

  • Privacy: elke invoerbyte wordt lokaal in je browser gehasht. Geen upload, geen netwerk-round-trip, geen serverlog. De bestandskiezer leest rechtstreeks van schijf via de File API.
  • Vier digests in één doorgang: plak één keer en lees MD5, SHA-1, SHA-256 en SHA-512 naast elkaar, en wissel de uitvoercodering tussen hex en Base64 zonder opnieuw te hashen.
  • Standaard-correcte uitvoer: de SHA-familie wordt gedelegeerd aan crypto.subtle.digest, dezelfde FIPS 180-4-implementatie die je besturingssysteem al vertrouwt. MD5 volgt RFC 1321 byte voor byte.
  • Gemaakt voor verificatiewerk: live-modus toont het lawine-effect terwijl je typt; het bestandspaneel verwerkt binaries tot zoveel als het geheugen van het tabblad aankan, zodat je release-archieven kunt verifiëren zonder terminal.

Wat zijn veelvoorkomende toepassingen van hashfuncties?

Hashes kom je overal tegen in dagelijks engineeringwerk:

  • Downloads verifiëren: de SHA-256-digest van een release-archief vergelijken met de waarde die op de site van het project is gepubliceerd om te bevestigen dat het tijdens het transport niet is gemanipuleerd.
  • Integraties debuggen: de exacte MD5 of SHA-256 reproduceren die een partner-service verwacht in een request-signature, zodat je de off-by-one in je canonical-string-builder kunt vinden.
  • Content addressing: een deterministisch ID genereren uit een payload om als cachesleutel, deduplicatiemarkering of Git-achtige object-identifier te gebruiken.

Hoe ziet een voorbeeld van een hash eruit?

Het hashen van de ASCII-string hello produceert 5d41402abc4b2a76b9719d911017c592 als MD5, aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d als SHA-1, 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 als SHA-256, en een hex-string van 128 tekens beginnend met 9b71d224bd62f3785d96d46ad3ea3d73... als SHA-512. Eén enkele spatie aan het einde toevoegen en opnieuw hashen verandert elke digest tot voorbij herkenning.

Deze hash generator draait volledig in je browser op dezelfde primitieven die je besturingssysteem al vertrouwt: Web Crypto voor de SHA-familie en een kleine, geaudite MD5-routine voor de enige digest die Web Crypto niet levert. Plak, sleep een bestand, kopieer een digest — meer verlaat het tabblad niet.