Генератор HMAC хеша онлайн

Вычислите HMAC хеш сообщения с секретным ключом по алгоритмам MD5, SHA-1, SHA-256 и SHA-512.

HMAC (Hash-based Message Authentication Code) — механизм аутентификации сообщений на основе хеш-функций. В отличие от обычного хеширования, HMAC использует секретный ключ: одно и то же сообщение с разными ключами даёт разные хеши. Это позволяет не только проверить целостность данных, но и убедиться, что сообщение отправлено тем, кто знает ключ.

Инструмент поддерживает четыре алгоритма: HMAC-MD5 (32 символа), HMAC-SHA1 (40 символов), HMAC-SHA256 (64 символа) и HMAC-SHA512 (128 символов). Расчёт происходит в браузере — ни ключ, ни сообщение не отправляются на сервер.

Где применяется HMAC: верификация webhook-запросов (GitHub, Stripe, Telegram), подпись JWT-токенов (алгоритмы HS256/HS384/HS512), аутентификация API-запросов (AWS Signature V4, HMAC-based API keys), защита данных в протоколах TLS и IPsec.


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

Что такое HMAC и чем он отличается от обычного хеша?
HMAC — это хеш с секретным ключом. Обычный хеш (SHA-256, MD5) вычисляется только из сообщения, и любой может его воспроизвести. HMAC требует знания ключа: без него невозможно вычислить или подделать правильный хеш. Это делает HMAC пригодным для аутентификации — вы можете убедиться, что сообщение пришло от того, кто знает ключ.
Какой алгоритм HMAC выбрать?
HMAC-SHA256 — универсальный выбор для большинства задач. Он используется в JWT (HS256), AWS Signature V4 и большинстве webhook-интеграций. HMAC-SHA512 даёт более длинный хеш и быстрее работает на 64-битных процессорах. HMAC-MD5 и HMAC-SHA1 считаются устаревшими для криптографии, но встречаются в легаси-системах.
Безопасно ли вычислять HMAC в браузере?
Да. Этот инструмент вычисляет HMAC полностью на стороне клиента — секретный ключ и сообщение не покидают ваш браузер и не отправляются на сервер. Это можно проверить во вкладке Network в DevTools: при генерации не происходит сетевых запросов.
Можно ли расшифровать HMAC обратно?
Нет. HMAC, как и обычный хеш — односторонняя функция. Из результата невозможно восстановить ни исходное сообщение, ни ключ. HMAC используется для верификации: получатель, зная ключ и сообщение, вычисляет HMAC заново и сравнивает с полученным.
Как работает верификация webhook через HMAC?
Сервис (например, GitHub или Stripe) отправляет запрос с заголовком, содержащим HMAC-подпись тела запроса. Ваш сервер вычисляет HMAC от полученного тела с общим секретным ключом и сравнивает результат с подписью из заголовка. Если совпадает — запрос подлинный. Этот инструмент удобен для ручной проверки таких подписей при отладке.
Влияет ли длина ключа на безопасность HMAC?
Ключ должен быть не короче длины хеша используемого алгоритма (32 байта для SHA-256, 64 байта для SHA-512). Более короткий ключ снижает безопасность, более длинный — не увеличивает её, так как ключ предварительно хешируется до размера блока. Для генерации надёжного ключа используйте криптографически стойкий генератор случайных чисел.