Данные не передаются

Генератор HMAC (Рассчитать HMAC-SHA256 в браузере)

Инструмент для создания подписи HMAC-SHA256. Ключи и данные не передаются и не сохраняются.

Поддержка форматов Text/Hex/Base64. Безопасные вычисления с использованием стандартного Crypto API вашего браузера.

Локальные расчеты Без хранения данных Поддержка Hex/Base64

Ввод и Вывод

Эта страница выполняет расчеты полностью внутри браузера и не отправляет данные в интернет.

Приватно
Формат ключа

* Важна именно «байтовая последовательность». Если ключ двоичный, вводите его в Hex или Base64.

Формат данных
Длина результата: 32 байта (SHA-256)
Опции

Результат изменится, если коды переноса строки будут отличаться (напр. из-за ОС).

Так как API-подписи требуют точного совпадения, рекомендуется оставить «Как есть».

Инструкция

3 основных шага для создания подписи HMAC.

  1. 1 Введите Ключ (Выберите Hex/Base64, если ключ двоичный)
  2. 2 Введите Сообщение (Payload / Строка для подписи)
  3. 3 Выберите Формат вывода и скопируйте результат

HMAC рассчитывается на основе последовательности байтов. Даже если текст выглядит одинаково, результат будет другим при разной кодировке или символах переноса строки (по умолчанию UTF-8).

Примеры для проверки

Нажмите «Загрузить пример», чтобы заполнить поля.

Пример 1
Ключ (Текст)
secret
Сообщение (Текст)
message
HMAC-SHA256 (Hex)
8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b
HMAC-SHA256 (Base64)
i19IcCmVwVmMVz2x4hhmqbgl1KeU0WnXBgoDYFeWNgs=
Пример 2
Ключ (Текст)
key
Сообщение (Текст)
The quick brown fox jumps over the lazy dog
HMAC-SHA256 (Hex)
f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
HMAC-SHA256 (Base64)
97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=

Частые ошибки

Коды переноса строки (LF/CRLF)

Результаты меняются, если символы переноса не совпадают.

Обрезка пробелов (Trimming)

Любое удаление невидимых символов может привести к несовпадению подписи.

Нотация Base64URL

Обычно заменяет + на -, / на _ и убирает =. Проверьте требования вашего API.

Тип ключа (Текст vs Двоичный)

Например, ввод «deadbeef» как строки или как последовательности байтов 0xDE 0xAD...

Дополнительная информация

Что такое HMAC?

Механизм создания подписи с использованием секретного ключа. Третья сторона не может создать такой же результат, не зная ключа.

Отличие от SHA-256

SHA-256 — это просто хэш, а HMAC — это подпись на основе хэша с ключом.

Примеры использования

Подписи API, проверка Webhook, защита от подмены данных и т.д.

FAQ

Где хранится ключ?

Он не хранится. Инструмент работает в браузере и не передает данные на сервер. (※ На всякий случай очищайте поля после работы на общем ПК)

Base64 или Hex?

Используются оба формата. Выберите нужный в соответствии с документацией вашего API.

Какая кодировка?

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

Почему результат не совпадает?

Обычно это связано с: (1) Обработкой ключа, (2) Переносами строк, (3) Пробелами, (4) Спецификой Base64URL. Проверьте список ошибок выше.

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.