Hoe MD5-, SHA-256- en andere hashes te genereren

· 4 min leestijd

Hashing converteert elke invoer — een wachtwoord, een bestand, een bericht — naar een string van vaste lengte. Dezelfde invoer produceert altijd dezelfde hash, maar de geringste wijziging in de invoer produceert een totaal andere hash. Dit maakt hashing essentieel voor integriteitscontrole, wachtwoordopslag en digitale handtekeningen.

Hoe hashing werkt

Een hashfunctie neemt een invoer van elke grootte en produceert een uitvoer van vaste grootte:

Invoer SHA-256-hash (eerste 16 tekens)
hello 2cf24dba5fb0a30e...
Hello 185f8db32271fe25...
hello! ce06092fb948d9ff...

Merk op dat één enkel teken gewijzigd (kleine h naar hoofdletter H) of toegevoegd de hash volledig verandert. Dit wordt het lawine-effect genoemd.

Veelvoorkomende hash-algoritmen

Algoritme Lengte Status Te gebruiken voor
MD5 32 tekens Gebroken (onveilig) Verouderde checksums, niet-veilige toepassingen
SHA-1 40 tekens Gebroken (onveilig) Alleen verouderde systemen
SHA-256 64 tekens Veilig Bestandsintegriteit, digitale handtekeningen
SHA-512 128 tekens Veilig Toepassingen met hoge beveiliging

SHA-256 is de huidige standaard voor de meeste toepassingen. MD5 en SHA-1 mogen alleen worden gebruikt om te interageren met verouderde systemen die ze vereisen.

Hoe een hash te genereren

  1. Kies uw algoritme — selecteer MD5, SHA-1, SHA-256, SHA-384 of SHA-512. Gebruik SHA-256 tenzij om een specifieke reden.
  2. Voer tekst in of importeer een bestand — typ of plak tekst, of selecteer een bestand om te hashen.
  3. Kopieer de hash — het resultaat is een hexadecimale string die bruikbaar is voor verificatie, opslag of vergelijking.

Praktisch gebruik

Bestandsintegriteitscontrole — download een bestand en vergelijk de hash met die officieel gepubliceerd. Als ze overeenkomen, is het bestand authentiek en niet beschadigd.

Wachtwoordopslag — applicaties slaan wachtwoord-hashes op, niet de wachtwoorden zelf. Wanneer u inlogt, wordt uw invoer gehasht en vergeleken met de opgeslagen hash.

Gegevens-deduplicatie — hash grote bestanden om snel te bepalen of ze identiek zijn zonder ze byte voor byte te vergelijken.

HMAC voor API-beveiliging — gebruik HMAC (hash met een geheime sleutel) om API-aanvragen te ondertekenen en ervoor te zorgen dat ze niet zijn gewijzigd tijdens transit.

Tips

Veelgestelde vragen

Wat is het verschil tussen MD5, SHA-1 en SHA-256?

MD5 produceert een hash van 128 bits (32 hex-tekens), SHA-1 produceert 160 bits (40 tekens) en SHA-256 produceert 256 bits (64 tekens). MD5 en SHA-1 worden als cryptografisch gebroken beschouwd. SHA-256 is momenteel veilig en aanbevolen voor integriteitsverificatie en beveiliging.

Kan men een hash omkeren om de oorspronkelijke gegevens terug te vinden?

Nee. Hashfuncties zijn eenrichting per ontwerp. U kunt een hash niet wiskundig omkeren naar de invoer. Daarentegen kunnen veelvoorkomende wachtwoorden worden gevonden in voorberekende tabellen (rainbow tables), vandaar het belang van het zouten van wachtwoorden voor het hashen.

Wat is HMAC?

HMAC (Hash-based Message Authentication Code) combineert een hashfunctie met een geheime sleutel. Het verifieert zowel de integriteit als de authenticiteit van gegevens — bewijst dat ze niet zijn gewijzigd en dat ze zijn geproduceerd door iemand die de geheime sleutel kent.

Worden mijn gegevens naar een server verzonden?

Nee. Alle hashing draait in uw browser met de Web Crypto API. Uw teksten en bestanden verlaten nooit uw apparaat.