Генератор HMAC (HMAC-SHA256 у браузері)

Сторінка HMAC SHA256 без мережі для швидкого обчислення HMAC і перевірки підписів.

Усе виконується локально у вашому браузері. Ключі й повідомлення ніколи не передаються й не зберігаються.

Локальне обчислення Без зберігання Hex і Base64
Без передавання мережею

Як користуватися (HMAC signature)

  1. Введіть ключ. Якщо у специфікації API ключ задано як двійкові байти, оберіть формат введення Hex або Base64.
  2. Введіть payload повідомлення, яке треба підписати.
  3. Оберіть формат виводу (Hex / Base64 / Base64URL) і скопіюйте результат.
HMAC працює з байтами, а не з візуальним текстом. Кодування UTF-8, різниця між newline та зайві пробіли змінюють результат.

Приклади (тестові вектори)

Приклад 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 у перенесеннях рядків дає інші підписи.
  • Обрізання пробілів на початку/в кінці може зламати збіг підпису API.
  • Base64URL часто означає заміну + на -, / на _ та пропуск = padding. Перевірте специфікацію API.
  • Якщо ключ розповсюджується як Hex/Base64 байти, трактування його як звичайного тексту призводить до розбіжностей.

Запитання та відповіді

Чи зберігається мій ключ?

Ні. Цей інструмент обчислює все у вашому браузері й не надсилає введення ключа/повідомлення на жоден сервер.

Base64 чи Hex?

Обидва формати поширені. Ви можете обрати вихід Hex / Base64 / Base64URL відповідно до специфікації свого API.

Яке кодування символів використовується (UTF-8)?

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

У чому різниця між HMAC і хешем SHA-256?

SHA-256 - це звичайний хеш. HMAC додає секретний ключ для автентифікації повідомлень.

Мій результат не збігається. Що перевірити?

Перевірте трактування ключа (текст чи байти), обробку newline, обрізання пробілів і правила Base64URL.

Додатково

Що таке HMAC?

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

Відмінність від SHA-256

SHA-256 сам по собі не має секретного ключа. HMAC-SHA256 вимагає спільного ключа й використовується для підписів.

Типові сценарії використання

Підписування API-запитів, перевірка webhook і контроль цілісності токенів.