Генератар HMAC (HMAC-SHA256 у браўзеры)

Старонка для генерацыі HMAC SHA256 без сеткі, прызначаная для хуткага вылічэння HMAC і праверкі подпісаў.

Усё працуе лакальна ў вашым браўзеры. Ключы і паведамленні ніколі не перадаюцца і не захоўваюцца.

Лакальнае вылічэнне Без захавання Hex і Base64
Без перадачы па сетцы

Як карыстацца (HMAC signature)

  1. Увядзіце ключ. Калі ў спецыфікацыі API ключ зададзены ў выглядзе бінарных байтаў, выберыце фармат уводу Hex або Base64.
  2. Увядзіце payload паведамлення для подпісу.
  3. Выберыце фармат вываду (Hex / Base64 / Base64URL) і скапіруйце вынік.
HMAC працуе з байтамі, а не з візуальным тэкстам. UTF-8, розніца ў пераносах радкоў і лішнія прабелы змяняюць вынік.

Прыклады (test vectors)

Прыклад 1 (кароткая праверка)

Увод: Ключ = secret (UTF-8), паведамленне = message (UTF-8)

HMAC-SHA256 (Hex):
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b

HMAC-SHA256 (Base64):
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=

Прыклад 2 (распаўсюджаная фраза)

Увод: Ключ = key, паведамленне = The quick brown fox jumps over the lazy dog

Hex:
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

Base64:
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Тыповыя памылкі

  • Розніца паміж LF і CRLF дае розныя подпісы.
  • Абрэзка прабелаў у пачатку/канцы можа зламаць супадзенне подпісу API.
  • Base64URL часта азначае замену + на -, / на _ і прапушчаны padding =. Праверце спецыфікацыю вашага API.
  • Калі ключ распаўсюджваецца як Hex/Base64-байты, інтэрпрэтацыя яго як звычайнага тэксту прывядзе да несупадзення.

FAQ

Ці захоўваецца мой ключ?

Не. Інструмент вылічвае ўсё ў вашым браўзеры і не адпраўляе ключ/паведамленне ні на адзін сервер.

Base64 або Hex?

Выкарыстоўваюцца абодва варыянты. Вы можаце выбраць вывад Hex / Base64 / Base64URL у адпаведнасці са спецыфікацыяй API.

Якое кадаванне выкарыстоўваецца (UTF-8)?

Тэкставы ўвод кодуецца як UTF-8 перад разлікам HMAC. Для бінарных значэнняў выкарыстоўвайце Hex/Base64-увод.

У чым розніца паміж HMAC і хэшам SHA-256?

SHA-256 - гэта звычайны хэш. HMAC дадае сакрэтны ключ для аўтэнтыфікацыі паведамлення.

Мой вынік не супадае. Што праверыць?

Праверце інтэрпрэтацыю ключа (тэкст або байты), пераносы радкоў, абрэзку прабелаў і правілы Base64URL.

Дадатак

Што такое HMAC?

HMAC - гэта код аўтэнтыфікацыі паведамлення на аснове сакрэтнага ключа і хэш-функцыі.

Адрозненне ад SHA-256

SHA-256 сам па сабе не выкарыстоўвае сакрэтны ключ. HMAC-SHA256 патрабуе агульны ключ і выкарыстоўваецца для подпісаў.

Тыповыя сцэнары выкарыстання

Падпісанне API-запытаў, праверка webhook і праверка цэласнасці токенаў.