# HMAC-SHA256-generator

Opret en HMAC-SHA256-signatur ud fra en meddelelse og en hemmelig nøgle. Værktøjet koder begge som UTF-8, anvender HMAC-konstruktionen fra RFC 2104 med SHA-256 og returnerer taggen på 256 bit i hex eller Base64. Udviklere bruger det til at fejlfinde webhook-signaturer fra tjenester som Stripe, GitHub eller Slack, signere API-anmodninger og sammenligne resultater med deres egen kode. Nøglen returneres eller logges aldrig.

## Ofte stillede spørgsmål

### Hvad er HMAC-SHA256?

HMAC-SHA256 er en meddelelsesautentifikationskode, der er bygget på SHA-256 og en hemmelig nøgle som defineret i RFC 2104. Kun en person med nøglen kan beregne den korrekte tag for en meddelelse. Resultatet er 32 bytes eller 64 hex-tegn.

### Hvordan verificerer jeg en webhook-signatur?

Indsæt den nøjagtige rå anmodningstekst som meddelelsen og din signeringshemmelighed som nøgle, og sammenlign derefter resultatet med signaturheaderen. Mange tjenester signerer en kombination, f.eks. Stripes tidsstempel, et punktum og teksten, så opbyg meddelelsen, som deres dokumentation beskriver. En enkelt ændret byte giver en anden tag.

### Findes der en kendt testvektor?

Testtilfælde 2 i RFC 4231 bruger nøglen Jefe og meddelelsen what do ya want for nothing? og forventer 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843. Dette værktøj returnerer præcis den værdi.

### Hvordan kodes nøglen og meddelelsen?

Begge kodes som UTF-8-tekst. Hvis din hemmelighed er angivet i hex eller Base64, som nogle tjenester gør, er bytene forskellige fra den viste tekst, og du skal først afkode nøglen i din egen kode. Mellemrum og linjeskift tæller med i begge felter.

### Gemmes min hemmelige nøgle?

Nej. Nøglen bruges kun til at beregne taggen under anmodningen. Den indgår ikke i svaret, logges ikke og gemmes ikke.

### Kan nøglen være tom eller meget lang?

HMAC accepterer nøgler af enhver længde, også en tom nøgle. Nøgler på over 64 bytes hashes først med SHA-256, som RFC'en foreskriver. Til reel brug bør du vælge en tilfældig nøgle på mindst 32 bytes.

### Skal jeg vælge hex eller Base64?

Brug det format, den anden part sender. GitHub og Stripe bruger hex, mens Slack sætter v0= foran hex, og mange systemer baseret på AWS og JWT bruger Base64. Begge formater koder de samme 32 bytes.

### Er HMAC-SHA256 det samme som SHA-256 af nøglen og den sammenkædede meddelelse?

Nej. HMAC hasher meddelelsen to gange med indre og ydre polstrede nøgler, hvilket beskytter mod længdeforlængelsesangreb. Hvis du sammenkæder nøgle og meddelelse og hasher én gang, får du et andet og svagere resultat.

### Hvordan bør jeg sammenligne signaturer i min kode?

Brug en konstanttidsfunktion til sammenligning, f.eks. crypto.timingSafeEqual i Node.js eller hmac.compare_digest i Python. En normal strengsammenligning kan lække tidsinformation om den forventede tag.

### Hvor stor kan meddelelsen være?

Meddelelsen og nøglen må tilsammen fylde op til 5 MiB tekst. Det dækker typiske webhook-data og API-anmodninger.

Din annonce her?

[Send os en e-mail](mailto:hi@dennn.is?subject=Annoncering%20p%C3%A5%20OneClick%20Pro)

[Annonce Pluginsamlingen, der er klar til agenter, til WordPress.](https://sleekwp.com/?ref=oneclickpro)
