Ga naar inhoud
TextArray

Wat is een hasj? MD5, SHA-256 en wanneer je HMAC daadwerkelijk nodig hebt

Blog /

Hash-functies zetten elke invoer om in een vingerafdruk met een vaste lengte, maar niet alle hashes zijn gelijk. Kiezen tussen MD5, SHA-256 en HMAC betekent het verschil tussen een werkende beveiligingscontrole en een controle die geruisloos mislukt. In deze handleiding wordt uitgelegd wat elk doet, wanneer u het moet gebruiken en hoe u uw eigen hashes rechtstreeks in uw browser kunt verifiëren.

Wat is een hashfunctie?

Een hash-functie neemt een willekeurige hoeveelheid gegevens (tekst, een bestand, een wachtwoord) en produceert een reeks tekens met een vaste lengte. Dezelfde invoer levert altijd dezelfde uitvoer op, wat hashes nuttig maakt voor verificatie. Verander zelfs maar één teken in de invoer en de hash verandert volledig. Deze eenrichtingseigenschap (je kunt een hash niet omkeren om de originele gegevens terug te krijgen) maakt het nuttig voor de veiligheid.

MD5: snel maar kapot

MD5 produceert een 128-bit hash en was ooit de standaard voor checksums en bestandsverificatie. Tegenwoordig is het cryptografisch kapot: botsingen (twee verschillende inputs die dezelfde hash produceren) zijn snel te vinden. MD5 verschijnt nog steeds in oudere systemen en voor niet-beveiligingscontroles, maar nooit voor authenticatie of wachtwoorden. Gebruik de Hasjgenerator om MD5-uitvoer te zien, maar grijp naar SHA-256 voor alles wat ertoe doet.

SHA-256: de huidige standaard

SHA-256 (onderdeel van de SHA-2-familie) produceert een 256-bit hash en is de moderne keuze voor cryptografisch werk. Het is snel genoeg voor de meeste toepassingen, bestand tegen bekende aanvallen en breed ondersteund. Je zult het zien SHA-256 gebruikt in blockchain-systemen, certificaatvingerafdrukken en wachtwoordhashing. De Hasjgenerator ondersteunt SHA-256 als standaardalgoritme.

HMAC: als je een geheim nodig hebt

Een gewone hashfunctie is deterministisch: iedereen kan de hash verifiëren. Een HMAC (Hash-based Message Authentication Code) mengt een geheime sleutel, zodat alleen iemand die de sleutel kent de juiste hash kan produceren. Dit is essentieel voor API's: de server en de client delen een geheim, ondertekenen daar ieder hun berichten mee en de ontvanger verifieert of de handtekening overeenkomt. Dit bewijst dat het bericht afkomstig is van de beweerde afzender en dat er niet mee is geknoeid. De HMAC-generator laat je dit testen met je eigen geheime sleutel.

Wanneer elke aanpak gebruiken?

  1. Gebruik gewoon SHA-256 voor controles van de bestandsintegriteit, wachtwoordhashing (met salt en een langzame functie zoals bcrypt) en openbare vingerafdrukken.
  2. Gebruik HMAC voor het ondertekenen van API-aanvragen, webhookverificatie en elk scenario waarin beide partijen een geheim delen.
  3. Overslaan MD5 voor alles wat met beveiliging te maken heeft. Gebruik het alleen bij interactie met oudere systemen die dit vereisen.

Uw gegevens blijven op uw apparaat

Zowel de Hasjgenerator En HMAC-generator volledig in uw browser uitvoeren. Uw tekst wordt nooit naar een server verzonden: deze wordt lokaal op uw apparaat gehasht, werkt offline nadat de pagina is geladen en vereist geen account of login. Dit betekent dat u gevoelige informatie, zoals API-sleutels, veilig kunt hashen om te testen zonder deze bloot te stellen aan internet.

Bonus: meet entropie

Als u geheimen of wachtwoorden genereert, wordt de Shannon-entropie de rekenmachine laat zien hoeveel willekeur (en dus veiligheid) er in een string zit. Hogere entropie betekent moeilijker te raden. Gebruik het om te verifiëren dat uw gegenereerde geheimen daadwerkelijk willekeurig zijn voordat u ze implementeert.