Cryptology Academy · leksjon

Bruk av hash: kontrollsummer, HMAC og Git

Se hvordan hash brukes til passordlagring, dataintegritet og versjonskontroll.

Leksjon 4 av 413 trinn

Bruk av hash: kontrollsummer, HMAC og Git er en gratis leksjon i Cryptology Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cryptology Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Velkommen

Hashfunksjoner har tre kritiske roller i virkelige systemer: å verifisere dataintegritet (kontrollsummer), autentisere meldinger (HMAC) og spore kodehistorikk (Git).

Kontrollsummer for filer

Når De laster ned programvare, publiserer leverandøren SHA-256-hashen. Etter nedlastingen beregner De hashen og sammenligner: sha256sum ubuntu-24.04.iso # Should match published value exactly

Dataintegritet i lagring

Databaser som ZFS og Btrfs beregner SHA-256-kontrollsummer for hver datablokk. Ved lesing verifiseres kontrollsummen. Stille disk-korrupsjon oppdages automatisk.

Innholdsadresserbar lagring

Git, IPFS og Docker bruker innholdsadresserbar lagring: Navnet på hvert objekt ER hashen. SHA-256(content) = unik ID. Identisk innhold lagres én gang, og duplikater oppdages umiddelbart.

Gits bruk av SHA-1 (og SHA-256)

Hver Git-commit, hvert tre og hver blob har en SHA-1-hash. Commit-hashen omfatter: innhold + metadata + overordnede hasher. Når én bit endres, endres hashen, slik at manipulering av historikken blir synlig.

HMAC-konstruksjonen

HMAC-SHA256(key, msg) = SHA256((key' XOR opad) || SHA256((key' XOR ipad) || msg)) Konstruksjonen med dobbel hashing og XOR-fylling hindrer lengdeutvidelsesangrep mot nøkkelbaserte MAC-er.

HMAC i 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!')

Sammenligning i konstant tid

Sammenlign alltid HMAC-er med hmac.compare_digest(), IKKE ==. Tidsangrep: En sammenligning som avsluttes tidlig, lekker hvor lang del som samsvarer. hmac.compare_digest sammenligner alle byteverdier i konstant tid.

HMAC i API-autentisering

GitHub-webhooks: Hver nyttelast signeres med HMAC-SHA256 ved hjelp av en delt hemmelighet. Motta webhook → beregn HMAC → sammenlign med X-Hub-Signature-256-headeren.

Passordverifisering med hash

Innloggingsflyt: Brukeren sender inn passordet → serveren beregner hash → sammenligner med den lagrede hashen. Serveren dekrypterer aldri; den hasher på nytt og sammenligner. Den lagrede hashen avslører aldri passordet.

Bruksområder for Merkle-trær

Merkle-trær bygger et hashtre over data. Bitcoin-blokker inneholder en Merkle-rot for alle transaksjoner. Certificate Transparency bruker Merkle-trær for manipuleringssikre revisjonslogger.

Kort kontroll

Hvorfor må HMAC-sammenligninger bruke hmac.compare_digest() i stedet for ==?

Oppsummering

Utmerket! De har brukt hasher i virkelige scenarier. Deretter skal De gå dypere inn i AES – verdens mest utbredte standard for symmetrisk kryptering.
Gratis å komme i gang

Lær deg Cryptology Academy med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
67
Leksjoner
261

Ofte stilte spørsmål

Er leksjonen «Bruk av hash: kontrollsummer, HMAC og Git» gratis?

Ja – hele teksten i «Bruk av hash: kontrollsummer, HMAC og Git» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cryptology Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bruk av hash: kontrollsummer, HMAC og Git»?

Se hvordan hash brukes til passordlagring, dataintegritet og versjonskontroll. Du øver på Cryptology Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Cryptology Academy?

Ingen tidligere erfaring er nødvendig. Cryptology Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Bruk av hash: kontrollsummer, HMAC og Git»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Cryptology Academy-leksjonen?

Ja. Alle Cryptology Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Hva kjennetegner en god hashfunksjon
  2. MD5: historie, bruk og hvorfor det er knekt
  3. SHA-1- og SHA-2-familien forklart
  4. Bruk av hash: kontrollsummer, HMAC og Git
← Tilbake til Cryptology Academy