Входные данные
Алгоритм HMAC
Ключ
Хэш HMAC-SHA256
Введите ключ, чтобы вычислить HMAC.
Ожидаемый хеш (необязательно)
Пересчитывается при вводе. Hex нечувствителен к регистру — символы ':' и пробелы игнорируются.

Всё выполняется в вашем браузере: введённый текст, ключ HMAC и ожидаемый хеш не покидают устройство.

Что HMAC добавляет к обычному хешу

HMAC (код аутентификации сообщения на основе хеша) подмешивает секретный ключ в процесс хеширования. Если SHA-256 сообщения доказывает лишь то, что байты не изменились, то HMAC дополнительно доказывает, что создавший его знал общий ключ, — так сервер может доверять, что входящий вебхук действительно пришёл от ожидаемого отправителя. С ключом key и сообщением The quick brown fox jumps over the lazy dog HMAC-SHA256 даёт f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8.

Обычного хеша для аутентификации недостаточно: SHA-256 может вычислить кто угодно, поэтому злоумышленник подделает хеш. HMAC устойчив к этому, включая атаки удлинения, ломающие наивные схемы вида hash(секрет + сообщение). Используйте HMAC-SHA256 для подписи запросов к API, проверки вебхуков (Stripe, GitHub, Slack) и получения посообщенных токенов. Ключ должен оставаться секретным, длинным и случайным.

Как вычислить HMAC

  1. Выберите алгоритм HMAC: SHA-1, SHA-256 или SHA-512.
  2. Введите секретный ключ в замаскированное поле ключа.
  3. Введите или вставьте сообщение для аутентификации.
  4. Сравните подпись с той, что получает ваш сервер.

Частые вопросы о HMAC

Зачем HMAC нужен ключ?

Ключ превращает публичный отпечаток в доказательство аутентификации: совпадающий MAC могут создать только стороны, знающие секрет.

HMAC-SHA1 или HMAC-SHA256?

HMAC-SHA256 — современный выбор по умолчанию для вебхуков и подписи запросов. HMAC-SHA1 ещё встречается в старых протоколах и допустим, когда нужен для совместимости.

HMAC — это шифрование?

Нет. Он не скрывает сообщение, а лишь доказывает целостность и подлинность. Для конфиденциальности шифруйте отдельно.

Всё выполняется в вашем браузере: введённый текст, ключ HMAC и ожидаемый хеш не покидают устройство.