Cryptology Academy · Les

Hashingtoepassingen: checksums, HMAC en Git

Bekijk hashes voor wachtwoordopslag, gegevensintegriteit en versiebeheer.

Les 4 van 413 stappen

Hashingtoepassingen: checksums, HMAC en Git is een gratis Cryptology Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cryptology Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cryptology Academy bevat in totaal 4 lessen.

Welkom

Hashfuncties hebben in echte systemen drie belangrijke functies: de integriteit van gegevens verifiëren (controlesommen), berichten authenticeren (HMAC) en de codegeschiedenis bijhouden (Git).

Controlesommen van bestanden

Bij het downloaden van software publiceren aanbieders de SHA-256-hash. Na het downloaden bereken je de hash en vergelijk je die: sha256sum ubuntu-24.04.iso # Should match published value exactly

Gegevensintegriteit in opslag

Databases zoals ZFS en Btrfs berekenen SHA-256-controlesommen voor elk gegevensblok. Bij het lezen wordt de controlesom geverifieerd. Stille beschadiging van de schijf wordt automatisch gedetecteerd.

Inhoudgeadresseerde opslag

Git, IPFS en Docker gebruiken inhoudgeadresseerde opslag: de naam van elk object IS zijn hash. SHA-256(content) = unieke ID. Identieke inhoud wordt één keer opgeslagen en duplicaten worden direct gedetecteerd.

Het gebruik van SHA-1 (en SHA-256) door Git

Elke Git-commit, -tree en -blob heeft een SHA-1-hash. De commit-hash omvat: inhoud + metagegevens + hashes van bovenliggende commits. Als er ook maar één bit verandert, verandert de hash, waardoor manipulatie van de geschiedenis zichtbaar wordt.

HMAC-constructie

HMAC-SHA256(key, msg) = SHA256((key' XOR opad) || SHA256((key XOR ipad) || msg)) De constructie met dubbele hashing en XOR-opvulling voorkomt aanvallen met lengte-uitbreiding op MAC's met een sleutel.

HMAC in Python

import hmac, hashlib def create_mac(key: bytes, msg: bytes) -> str: return hmac.new(key, msg, hashlib.sha256).hexdigest() mac = create_mac(b'secret', b'Hello!')

Vergelijken in constante tijd

Vergelijk HMAC's altijd met hmac.compare_digest(), NIET met ==. Timingaanvallen: een vergelijking die vroegtijdig stopt, lekt hoeveel tekens overeenkomen. hmac.compare_digest vergelijkt alle bytes in constante tijd.

HMAC voor API-authenticatie

GitHub-webhooks: elke payload wordt ondertekend met HMAC-SHA256 met behulp van een gedeeld geheim. Ontvang de webhook → bereken de HMAC → vergelijk die met de header X-Hub-Signature-256.

Wachtwoordverificatie met een hash

Aanmeldingsstroom: de gebruiker verstuurt een wachtwoord → de server berekent de hash → vergelijkt die met de opgeslagen hash. De server ontsleutelt het wachtwoord nooit; de server hasht het opnieuw en vergelijkt de resultaten. De opgeslagen hash onthult het wachtwoord nooit.

Toepassingen van Merkle-bomen

Merkle-bomen bouwen een hashboom over gegevens. Bitcoin-blokken bevatten een Merkle-wortel van alle transacties. Certificate Transparency gebruikt Merkle-bomen voor controlelogboeken waarin manipulatie zichtbaar is.

Korte controle

Waarom moeten HMAC-vergelijkingen hmac.compare_digest() gebruiken in plaats van ==?

Samenvatting

Uitstekend! Je hebt hashes toegepast in realistische scenario's. Hierna gaan we dieper in op AES, de meest gebruikte symmetrische versleutelingsstandaard ter wereld.
Gratis beginnen

Leer Cryptology Academy met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
67
Lessen
261

Veelgestelde vragen

Is de les “Hashingtoepassingen: checksums, HMAC en Git” gratis?

Ja — de volledige tekst van “Hashingtoepassingen: checksums, HMAC en Git” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Cryptology Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Cryptology Academy bevat in totaal 4 lessen.

Wat leer ik in “Hashingtoepassingen: checksums, HMAC en Git”?

Bekijk hashes voor wachtwoordopslag, gegevensintegriteit en versiebeheer. Je oefent met Cryptology Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Cryptology Academy te beginnen?

Ervaring vooraf is niet nodig. Cryptology Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Hashingtoepassingen: checksums, HMAC en Git”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Cryptology Academy?

Ja. Elke les over Cryptology Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Wat maakt een goede hashfunctie
  2. MD5: geschiedenis, toepassingen en waarom het onveilig is
  3. De SHA-1- en SHA-2-familie uitgelegd
  4. Hashingtoepassingen: checksums, HMAC en Git
← Terug naar Cryptology Academy