Gjeneruesi HMAC (HMAC-SHA256 në shfletues)

Një faqe pa rrjet për gjenerim HMAC SHA256, për llogaritje të shpejtë HMAC dhe verifikim nënshkrimi.

Gjithçka ekzekutohet lokalisht në shfletuesin tënd. Çelësat dhe mesazhet nuk transmetohen ose ruhen kurrë.

Llogaritje lokale Pa ruajtje Hex dhe Base64
Pa transmetim në rrjet

Si përdoret (HMAC signature)

  1. Shkruaj çelësin. Nëse specifikimi i API-së jep byte binare të çelësit, zgjidh hyrje Hex ose Base64.
  2. Shkruaj payload-in e mesazhit që do të nënshkruhet.
  3. Zgjidh formatin e daljes (Hex / Base64 / Base64URL) dhe kopjo rezultatin.
HMAC punon mbi byte, jo mbi tekstin vizual. Kodimi UTF-8, ndryshimet e rreshtave të rinj dhe hapësirat shtesë do ta ndryshojnë rezultatin.

Shembuj (vektorë testi)

Shembulli 1 (kontroll i shkurtër)

Hyrja: Çelësi = secret (UTF-8), Mesazhi = message (UTF-8)

HMAC-SHA256 (Hex):
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b

HMAC-SHA256 (Base64):
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=

Shembulli 2 (fraza e zakonshme)

Hyrja: Çelësi = key, Mesazhi = The quick brown fox jumps over the lazy dog

Hex:
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

Base64:
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Gabime të zakonshme

  • Ndryshimet e rreshtit të ri LF kundrejt CRLF prodhojnë nënshkrime të ndryshme.
  • Heqja e hapësirave në fillim/fund mund të prishë përputhjen e nënshkrimit të API-së.
  • Base64URL shpesh nënkupton + në -, / në _, dhe heqje të padding =. Kontrollo specifikimin e API-së.
  • Nëse një çelës shpërndahet si byte Hex/Base64, trajtimi si tekst i thjeshtë shkakton mospërputhje.

Pyetje të shpeshta

A ruhet çelësi im?

Jo. Ky mjet llogarit në shfletuesin tënd dhe nuk dërgon hyrjet e çelësit/mesazhit në asnjë server.

Base64 apo Hex?

Të dyja janë të zakonshme. Mund të zgjedhësh dalje Hex / Base64 / Base64URL që të përputhet me specifikimin e API-së.

Çfarë kodimi karakteresh përdoret (UTF-8)?

Hyrja tekst kodifikohet si UTF-8 para llogaritjes së HMAC. Për vlera binare, përdor hyrje Hex/Base64.

Cili është ndryshimi mes HMAC dhe hash-it SHA-256?

SHA-256 është hash i thjeshtë. HMAC shton një çelës sekret për autentikim mesazhi.

Dalja ime nuk përputhet. Çfarë duhet të kontrolloj?

Kontrollo interpretimin e çelësit (tekst kundrejt byte), trajtimin e rreshtit të ri, heqjen e hapësirave dhe rregullat e Base64URL.

Shtesë

Çfarë është HMAC?

HMAC është kod autentikimi mesazhi me hash dhe çelës, që përdor një çelës sekret dhe një funksion hash.

Dallimi nga SHA-256

Vetëm SHA-256 nuk ka çelës sekret. HMAC-SHA256 kërkon një çelës të përbashkët dhe përdoret për nënshkrime.

Rastet tipike të përdorimit

Nënshkrim kërkesash API, verifikim webhook dhe kontrolle integriteti token-ësh.