Duomenys nesiunčiami

HMAC generatorius (HMAC-SHA256 skaičiavimas naršyklėje)

HMAC skaičiavimo įrankis generuoti HMAC-SHA256 čia ir dabar. Raktai ir įvestys nėra niekur siunčiami ar saugomi.

Palaiko Text/Hex/Base64 įvestis ir Hex/Base64 išvestis. Saugiai skaičiuoja naudojant standartinę naršyklės Crypto API.

Lokalus skaičiavimas Jokio saugojimo Hex/Base64 palaikymas

Įvestis ir išvestis

Šis puslapis atlieka skaičiavimus tik naršyklėje ir nesiunčia jokių duomenų.

Duomenys nesiunčiami
Įvesties formatas

* Svarbu suprasti, kaip API apibrėžia baitų seką. Jei raktas yra binarinis, įveskite jį Hex arba Base64 formatu.

Įvesties formatas
Išvesties ilgis: 32 baitai (SHA-256)
Parinktys

Rezultatai skirsis, jei skiriasi eilučių lūžių kodai dėl OS ar kopijavimo.

Kadangi API parašai reikalauja tikslaus atitikimo, dažniausiai rekomenduojama palikti kaip yra.

Naudojimas

Pagrindiniai 3 žingsniai HMAC parašui sukurti.

  1. 1 Įveskite raktą (Pasirinkite Hex / Base64, jei API specifikacija yra binarinė)
  2. 2 Įveskite pranešimą (Eilutę pasirašymui / duomenis)
  3. 3 Pasirinkite išvesties formatą (Hex / Base64) ir nukopijuokite

HMAC skaičiuojamas baitų sekoms, o ne simbolių eilutėms. Net jei vizualiai tekstas atrodo taip pat, rezultatai skirsis, jei skiriasi koduotė, eilučių lūžiai ar tarpai (naudojamas UTF-8).

Pavyzdžiai (Patikrinimui)

Spustelėkite „Užkrauti pavyzdį“ duomenims įkelti.

Pavyzdys 1
Raktas (Tekstas/UTF-8)
secret
Pranešimas (Tekstas/UTF-8)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Pavyzdys 2
Raktas (Tekstas/UTF-8)
key
Pranešimas (Tekstas/UTF-8)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Dažniausios klaidos

Eilučių lūžių skirtumai (LF/CRLF)

Rezultatai keičiasi priklausomai nuo to, kaip tvarkomi eilučių lūžiai.

Apkirpimas (Tarpų šalinimas)

Kadangi parašai reikalauja tikslaus atitikimo, tarpų pašalinimas gali lemti nesutapimus.

Base64URL žymėjimas

Base64URL dažniausiai naudoja +→-, /→_ ir praleidžia =. Patikrinkite specifikacijas.

Rakto tvarkymas (Tekstas prieš Binarinį)

Pavyzdys: 'deadbeef' įvedimas kaip 'teksto' prieš jo įvedimą kaip 'baitų sekos 0xDE 0xAD...'.

Papildoma informacija

Kas yra HMAC?

Mechanizmas parašui sukurti naudojant slaptą raktą ir pranešimą. Trečioji šalis negali sukurti tokio paties rezultato neturėdama to paties rakto.

Skirtumas nuo SHA-256

SHA-256 yra 'maišos funkcija' (hash), o HMAC yra 'pasirašyta maiša' (keyed hash).

Naudojimo atvejai

Naudojama API parašams, Webhook verifikacijai, užklausų klastojimo aptikimui ir kt.

DUK

Ar raktas saugomas?

Ne, jis nėra saugomas. Šis įrankis skaičiuoja naršyklėje ir nesiunčia raktų ar pranešimų į serverį. (※ Saugumo dėlei, išvalykite formą pasinaudoję bendro naudojimo kompiuteriu).

Base64 ar Hex?

Naudojami abu. Galite pasirinkti išvesties formatą (Hex / Base64 / Base64URL) pagal API reikalavimus.

Simbolių koduotė?

Naudojama UTF-8. Tekstinė įvestis konvertuojama į baitus kaip UTF-8. Binariniams duomenims naudokite Hex / Base64 įvestį.

Išvestis nesutampa

Dažniausios priežastys: (1) Rakto tipas (Tekstas vs Baitai), (2) Eilučių lūžiai, (3) Tarpai, (4) Base64URL formatas. Patikrinkite „Dažniausių klaidų“ skiltį.

The output doesn't match

Common causes are (1) Key handling (Text vs Binary), (2) Newlines, (3) Whitespace, (4) Base64URL. Please check the pitfalls above in order.