Generator HMAC (HMAC-SHA256 v brskalniku)

Stran za ustvarjanje HMAC SHA256 brez omrežja za hiter izračun HMAC in preverjanje podpisa.

Vse teče lokalno v vašem brskalniku. Ključi in sporočila se nikoli ne prenašajo ali shranjujejo.

Lokalni izračun Brez shranjevanja Hex in Base64
Brez omrežnega prenosa

Kako uporabljati (HMAC signature)

  1. Vnesite ključ. Če specifikacija vašega API-ja podaja binarne bajte ključa, izberite vhodni format Hex ali Base64.
  2. Vnesite sporočilo oziroma payload za podpis.
  3. Izberite izhodni format (Hex / Base64 / Base64URL) in kopirajte rezultat.
HMAC deluje na bajtih, ne na videzu besedila. Kodiranje UTF-8, razlike v novih vrsticah in dodatni presledki spremenijo rezultat.

Primeri (testni vektorji)

Primer 1 (kratek preizkus)

Vhod: Ključ = secret (UTF-8), Sporočilo = message (UTF-8)

HMAC-SHA256 (Hex):
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b

HMAC-SHA256 (Base64):
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=

Primer 2 (pogosta fraza)

Vhod: Ključ = key, Sporočilo = The quick brown fox jumps over the lazy dog

Hex:
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

Base64:
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Pogoste napake

  • Razlike med prelomi vrstic LF in CRLF povzročijo različne podpise.
  • Obrezovanje začetnih ali končnih presledkov lahko pokvari ujemanje podpisov API-ja.
  • Base64URL pogosto pomeni zamenjavo + z -, / z _, in izpuščeno polnjenje =. Preverite specifikacijo svojega API-ja.
  • Če je ključ posredovan kot bajti Hex/Base64, bo obravnava kot navadno besedilo povzročila neujemanje.

Pogosta vprašanja

Ali se moj ključ shranjuje?

Ne. To orodje računa v vašem brskalniku in vhodov ključa ali sporočila ne pošilja nobenemu strežniku.

Base64 ali Hex?

Oboje je pogosto. Izberete lahko izhod Hex / Base64 / Base64URL, da se ujema s specifikacijo vašega API-ja.

Katero kodiranje znakov se uporablja (UTF-8)?

Besedilni vnos se pred izračunom HMAC kodira kot UTF-8. Za binarne vrednosti uporabite vhod Hex/Base64.

Kakšna je razlika med HMAC in zgoščeno vrednostjo SHA-256?

SHA-256 je navaden hash. HMAC doda skrivni ključ za avtentikacijo sporočila.

Moj izhod se ne ujema. Kaj naj preverim?

Preverite razlago ključa (besedilo proti bajtom), ravnanje z novimi vrsticami, obrezovanje presledkov in pravila Base64URL.

Dodatno

Kaj je HMAC?

HMAC je koda za preverjanje pristnosti sporočila na podlagi hash funkcije in skrivnega ključa.

Razlika od SHA-256

SHA-256 sam po sebi nima skrivnega ključa. HMAC-SHA256 zahteva deljeni ključ in se uporablja za podpise.

Tipični primeri uporabe

Podpisovanje zahtevkov API, preverjanje webhookov in preverjanje celovitosti žetonov.