Генератор HMAC (Рассчитать HMAC-SHA256 в браузере)
Инструмент для создания подписи HMAC-SHA256. Ключи и данные не передаются и не сохраняются.
Поддержка форматов Text/Hex/Base64. Безопасные вычисления с использованием стандартного Crypto API вашего браузера.
Ввод и Вывод
Эта страница выполняет расчеты полностью внутри браузера и не отправляет данные в интернет.
* Важна именно «байтовая последовательность». Если ключ двоичный, вводите его в Hex или Base64.
Опции
Результат изменится, если коды переноса строки будут отличаться (напр. из-за ОС).
Так как API-подписи требуют точного совпадения, рекомендуется оставить «Как есть».
Инструкция
3 основных шага для создания подписи HMAC.
- 1 Введите Ключ (Выберите Hex/Base64, если ключ двоичный)
- 2 Введите Сообщение (Payload / Строка для подписи)
- 3 Выберите Формат вывода и скопируйте результат
HMAC рассчитывается на основе последовательности байтов. Даже если текст выглядит одинаково, результат будет другим при разной кодировке или символах переноса строки (по умолчанию UTF-8).
Примеры для проверки
Нажмите «Загрузить пример», чтобы заполнить поля.
Частые ошибки
Результаты меняются, если символы переноса не совпадают.
Любое удаление невидимых символов может привести к несовпадению подписи.
Обычно заменяет + на -, / на _ и убирает =. Проверьте требования вашего API.
Например, ввод «deadbeef» как строки или как последовательности байтов 0xDE 0xAD...
Дополнительная информация
Механизм создания подписи с использованием секретного ключа. Третья сторона не может создать такой же результат, не зная ключа.
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.