HMAC-generator
Generer HMAC (Hash-basert meldingsautentiseringskode) ved bruk av SHA-256, SHA-384, SHA-512 eller SHA-1 algoritmer med en hemmelig nøkkel
Inndata
Utdata
Les meg
Hva er HMAC?
HMAC (Hash-basert meldingsautentiseringskode) er en kryptografisk teknikk som kombinerer en hemmelig nøkkel med en hashfunksjon for å produsere en unik autentiseringskode. I motsetning til enkel hashing sikrer HMAC både dataintegritet og autentisitet—verifiserer at en melding ikke har blitt manipulert og bekrefter avsenderens identitet.
HMAC fungerer ved å behandle meldingen gjennom en hashfunksjon (som SHA-256) to ganger, blandet med den hemmelige nøkkelen på en spesifikk måte. Denne dobbel-hashingen gjør den motstandsdyktig mot lengde-utvidelsesangrep som påvirker vanlige hashfunksjoner.
Hvordan fungerer HMAC?
HMAC-algoritmen følger disse trinnene:
- Nøkkel-forberedelse: Hvis den hemmelige nøkkelen er lengre enn hashblokk-størrelsen, hasher den først. Hvis kortere, fylles den med nuller.
- Indre hash: Nøkkelen XOR-es med en indre padding-konstant (ipad), deretter konkateneres den med meldingen og hasher.
- Ytre hash: Nøkkelen XOR-es med en ytre padding-konstant (opad), deretter konkateneres den med det indre hash-resultatet og hasher igjen.
Formelen er: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))
Denne konstruksjonen sikrer at selv om en angriper kjenner hashen til en melding, kan de ikke forfalske en gyldig HMAC uten å kjenne den hemmelige nøkkelen.
Hvorfor bruke HMAC i stedet for vanlig hashing?
| Funksjon | Vanlig Hash | HMAC |
|---|---|---|
| Dataintegritet | ✓ | ✓ |
| Autentisering | ✗ | ✓ |
| Krever hemmelig nøkkel | ✗ | ✓ |
| Beskyttelse mot lengde-utvidelsesangrep | ✗ | ✓ |
| Egnet for API-autentisering | ✗ | ✓ |
Vanlige hasher (MD5, SHA-256) verifiserer bare at data ikke har endret seg. HMAC beviser i tillegg at meldingen kom fra noen som kjenner den hemmelige nøkkelen, noe som gjør den avgjørende for sikker kommunikasjon.
[Resten av dokumentet følger samme oversettelsesprinsipper, med tekniske termer beholdt på engelsk og resten oversatt til naturlig norsk.]