HMAC գեներատոր (HMAC-SHA256 բրաուզերում)

Առանց ցանցի HMAC SHA256 հաշվարկման էջ՝ արագ HMAC հաշվարկի և ստորագրության ստուգման համար։

Ամեն ինչ կատարվում է տեղային՝ քո բրաուզերում։ Բանալիներն ու հաղորդագրությունները երբեք չեն փոխանցվում և չեն պահպանվում։

Տեղային հաշվարկ Առանց պահպանման Hex և Base64
Ցանցային փոխանցում չկա

Ինչպես օգտագործել (HMAC signature)

  1. Մուտքագրիր բանալին։ Եթե քո API specification-ը տալիս է binary key byte-եր, ընտրիր Hex կամ Base64 մուտքային ձևաչափը։
  2. Մուտքագրիր ստորագրվող message payload-ը։
  3. Ընտրիր ելքային ձևաչափը (Hex / Base64 / Base64URL) և պատճենի՛ր արդյունքը։
HMAC-ը աշխատում է byte-երի վրա, ոչ թե տեսանելի տեքստի։ UTF-8 encoding-ը, newline-ների տարբերությունները և ավելորդ բացատները կփոխեն արդյունքը։

Օրինակներ (test vector-ներ)

Օրինակ 1 (կարճ ստուգում)

Մուտք: Key = secret (UTF-8), Message = message (UTF-8)

HMAC-SHA256 (Hex):
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b

HMAC-SHA256 (Base64):
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=

Օրինակ 2 (հաճախ օգտագործվող արտահայտություն)

Մուտք: Key = key, Message = The quick brown fox jumps over the lazy dog

Hex:
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

Base64:
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Տարածված սխալներ

  • LF և CRLF newline-ների տարբերությունը տարբեր ստորագրություններ է տալիս։
  • Սկզբի/վերջի whitespace-ը trim անելը կարող է խախտել API signature matching-ը։
  • Base64URL-ը հաճախ նշանակում է + → -, / → _, և = padding-ի բացակայություն։ Ստուգիր քո API specification-ը։
  • Եթե բանալին տարածվում է որպես Hex/Base64 byte-եր, այն որպես սովորական տեքստ մշակելը հանգեցնում է mismatch-ի։

ՀՏՀ

Իմ բանալին պահպանվու՞մ է։

Ոչ։ Այս գործիքը հաշվարկում է քո բրաուզերում և key/message մուտքերը չի ուղարկում որևէ սերվերի։

Base64, թե՞ Hex։

Երկուսն էլ տարածված են։ Կարող ես ընտրել Hex / Base64 / Base64URL ելք՝ ըստ քո API specification-ի։

Ի՞նչ նիշերի կոդավորում է օգտագործվում (UTF-8)։

Տեքստային մուտքը HMAC հաշվարկից առաջ կոդավորվում է որպես UTF-8։ Binary արժեքների համար օգտագործիր Hex/Base64 մուտք։

Ի՞նչ տարբերություն կա HMAC-ի և SHA-256 hash-ի միջև։

SHA-256-ը սովորական hash է։ HMAC-ը ավելացնում է գաղտնի բանալի՝ հաղորդագրության վավերացման համար։

Իմ արդյունքը չի համընկնում։ Ի՞նչ պետք է ստուգեմ։

Ստուգիր բանալու մեկնաբանությունը (text թե bytes), newline-ների մշակումն, whitespace trimming-ը և Base64URL կանոնները։

Լրացուցիչ

Ի՞նչ է HMAC-ը

HMAC-ը secret key և hash function օգտագործող keyed-hash message authentication code է։

Տարբերությունը SHA-256-ից

SHA-256-ը ինքնուրույն secret key չունի։ HMAC-SHA256-ը պահանջում է shared key և օգտագործվում է ստորագրությունների համար։

Սովորական օգտագործման դեպքեր

API request signing, webhook verification և token integrity checks։