HMAC-генератор — SHA-256, SHA-512 и SHA-1

Вычисляйте HMAC-подписи с ключом для API-запросов и webhook и проверяйте, совпадает ли полученная подпись с ожидаемой. Расчёт выполняется в вашем браузере через Web Crypto API.

Обновлено
Алгоритм

🔒 Работает локально через Web Crypto API вашего браузера — ничего из введённого не отправляется на сервер.

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Онлайн-генератор хешей MD5SHA-1, SHA-256, SHA-384 и SHA-512 для текста и файлов.Генератор хешей →

Как пользоваться: HMAC-генератор

  1. Вставьте сообщение ровно в том виде, в котором оно подписывается, — для webhook это исходное тело запроса.
  2. Введите секретный ключ и выберите его кодировку.
  3. Выберите алгоритм хеширования — HMAC пересчитается мгновенно.
  4. Вставьте полученную подпись в поле Ожидаемая подпись, чтобы проверить её.

Что такое HMAC?

HMAC (Hash-based Message Authentication Code, RFC 2104) сочетает секретный ключ с хеш-функцией и формирует подпись. Любой, у кого есть ключ, может вычислить то же значение, а без ключа подделать подпись невозможно. API используют HMAC для подписи запросов (AWS Signature v4, многие платёжные шлюзы), а webhook — чтобы вы могли убедиться, что обратный вызов действительно пришёл от отправителя.

Проверка webhook

СервисЗаголовокАлгоритм / кодировка
GitHubX-Hub-Signature-256HMAC-SHA256, hex, с префиксом sha256=
StripeStripe-SignatureHMAC-SHA256 в hex от timestamp.body
ShopifyX-Shopify-Hmac-Sha256HMAC-SHA256, Base64
SlackX-Slack-SignatureHMAC-SHA256 в hex от v0:timestamp:body

Чаще всего подпись не совпадает, потому что тело изменили до подписи: разобрали и заново сериализовали JSON, поменяли пробелы или окончания строк. Всегда подписывайте исходные байты, которые вы получили. Проверка выше принимает hex (с префиксом sha256= или без него), Base64 и Base64url.

HMAC и обычные хеши

Обычный хеш SHA-256 подтверждает целостность, но не подлинность: любой может пересчитать его после изменения сообщения. HMAC включает секрет, поэтому корректное значение могут получить только владельцы ключа. Используйте ключ, длина которого не меньше размера выхода хеш-функции (для SHA-256 — 32 случайных байта). В серверном коде сравнивайте подписи функцией с постоянным временем выполнения, например crypto.timingSafeEqual.

Для хешей без ключа используйте генератор хешей, для подписанных токенов — JWT-кодировщик.

Также ищут как: hmac sha256, hmac sha256 онлайн, подпись webhook, hmac sha512.

Инструменты, которые хорошо сочетаются с HMAC-генератор

  • JWT декодер — Вставьте JSON Web Token, чтобы просмотреть его заголовок и payload, узнать, когда истекает срок действия, и проверить подпись.
  • Base64 кодер / декодер — Преобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe Base64 или перетащите файл, чтобы получить его строку Base64 или data URI.
  • AES шифрование — Защитите заметку, секрет или значение конфигурации паролем с помощью AES-256 или расшифруйте текст, созданный командой openssl enc.
  • IBAN-валидатор — Проверьте, корректен ли IBAN, прежде чем переводить деньги или сохранять номер: страну, длину для этой страны, формат счёта и контрольную сумму mod-97.

Часто задаваемые вопросы

Почему мой HMAC не совпадает с подписью webhook?
Обычно отличается сообщение: тело должно быть исходными полученными байтами, а не JSON, который был разобран и преобразован обратно в строку. Также проверьте алгоритм, кодировку ключа и префикс вроде sha256=.
HMAC-SHA1 всё ещё безопасен?
HMAC-SHA1 по-прежнему считается надёжным для аутентификации, в отличие от обычного SHA-1 для подписей, но в новых системах лучше использовать HMAC-SHA256.
Отправляется ли мой секретный ключ куда-либо?
Нет. HMAC вычисляется в вашем браузере с помощью Web Crypto API.
В чём разница между выводом в hex и Base64?
Они по-разному кодируют одни и те же байты. Hex для SHA-256 — это 64 символа, Base64 — 44 символа. Используйте тот формат, который ожидает принимающая система.
Можно ли установить HMAC-генератор как веб-приложение и пользоваться им офлайн?
Да. HMAC-генератор — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localГенератор хешейМгновенно вычисляйте хеши MD5 и SHA для любого текста или файла, создавайте подписи HMAC и вставляйте…localJWT-генераторСоберите JWT для тестирования API: редактируйте payload, добавляйте стандартные клеймы в один клик и…localJWT декодерВставьте JSON Web Token, чтобы просмотреть его заголовок и payload, узнать, когда истекает срок действия,…localBase64 кодер / декодерПреобразуйте текст в Base64 и обратно с полной поддержкой UTF-8 (акценты, эмодзи), включите URL-safe…localAES шифрованиеЗащитите заметку, секрет или значение конфигурации паролем с помощью AES-256 или расшифруйте текст,…localIBAN-валидаторПроверьте, корректен ли IBAN, прежде чем переводить деньги или сохранять номер: страну, длину для этой…