# Генератор и верификатор HMAC

Вычисляет HMAC-подпись сообщения + общего секрета на SHA-1/SHA-2/SHA-3/BLAKE2 или проверяет входящую подпись (сравнение за постоянное время) с пресетами Stripe / Slack / GitHub

> Каноническая страница: https://elysiatools.com/ru/tools/hmac-generator-verifier

- **Категория:** Security

- **Ключевые слова:** hmac, подпись, webhook, sha256, mac

## Обзор

HMAC (код аутентификации на основе хеша) доказывает, что сообщение отправлено тем, кто знает общий секрет, и не было изменено — это стандартный механизм подписи для вебхуков Stripe, Slack, GitHub, Shopify и др.

Два режима:

- **Генерация**: вставьте сырое тело и секрет, выберите алгоритм (SHA-1/256/384/512, SHA3-256/512, BLAKE2s-256, BLAKE2b-512) и кодировку (hex/base64/base64url).
- **Проверка**: дополнительно вставьте подпись из заголовка вебхука; инструмент пересчитает HMAC и сравнит за постоянное время через `crypto.timingSafeEqual`.

Пресеты вебхуков автоматически выбирают алгоритм, кодировку и префикс для Stripe / Slack / GitHub и описывают схему каждого провайдера.

Всё считается локально через `crypto` Node; секрет не покидает запрос.

## Входные данные

- **Сообщение (сырое тело)** (textarea): Paste the raw request body exactly as received (do not re-serialize JSON — byte differences break the signature).
- **Общий секрет** (text): whsec_... (your webhook signing secret)
- **Режим** (select)
- **Алгоритм** (select)
- **Кодировка подписи** (select)
- **Подпись для проверки** (text): Paste the signature from the webhook header (verify mode)
- **Пресет вебхука** (select)

## Когда использовать

- При отладке и тестировании обработчиков вебхуков от сторонних сервисов, таких как Stripe, Slack или GitHub.
- Для ручной проверки подлинности API-запросов, подписанных с помощью общего секрета.
- При проектировании собственных протоколов аутентификации на основе HMAC для проверки корректности генерации подписей на клиенте или сервере.

## Как это работает

- Вы вставляете исходное тело запроса (сообщение) и секретный ключ в соответствующие поля ввода.
- Выбираете режим работы: только генерация подписи или полная верификация с сопоставлением полученного значения.
- Настраиваете алгоритм хеширования (от SHA-1 до BLAKE2) и кодировку вывода (hex, base64 или base64url), либо выбираете готовый пресет провайдера.
- Инструмент локально вычисляет HMAC и, в режиме проверки, выполняет безопасное сравнение с предоставленной подписью с помощью функции crypto.timingSafeEqual.

## Сценарии использования

- Локальная отладка обработчика платежных вебхуков Stripe без необходимости отправки реальных тестовых событий.
- Генерация тестовых заголовков авторизации для интеграционных тестов API, использующих подписи HMAC-SHA256.
- Быстрая проверка целостности и авторства текстовых файлов или конфигураций с помощью общего секрета.

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

### Безопасно ли вводить секретный ключ вебхука на этой странице?

Да. Все вычисления происходят локально в вашем браузере с использованием стандартных криптографических библиотек. Секретный ключ не отправляется на внешние серверы.

### Почему вычисленная подпись не совпадает с подписью из заголовка вебхука?

Чаще всего это происходит из-за изменения форматирования JSON. Убедитесь, что вы вставили абсолютно сырое тело запроса (raw body) байт-в-байт, без лишних пробелов или переносов строк.

### Какие алгоритмы хеширования доступны в генераторе?

Доступны алгоритмы SHA-1, SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-512, BLAKE2s-256 и BLAKE2b-512.

### Что делают пресеты для Stripe, Slack и GitHub?

Они автоматически выставляют правильный алгоритм хеширования, кодировку подписи и учитывают специфические префиксы (например, v0= для Slack), упрощая процесс интеграции.

### Зачем нужно сравнение подписей за постоянное время?

Сравнение за постоянное время (constant-time comparison) предотвращает атаки по времени (timing attacks), не позволяя злоумышленнику угадать подпись посимвольно на основе скорости ответа.

## Связанные инструменты

- [Генератор PKCE Code Verifier и Challenge](https://elysiatools.com/ru/tools/pkce-code-verifier-generator): Создание, проверка и верификация пар code_verifier / code_challenge PKCE (RFC 7636) для OAuth2 / OIDC. Три режима: (1) создать новую пару из криптостойких случайных байт (256/384/512/768 бит), (2) аудит имеющегося verifier по RFC — длина (43–128), набор \[A-Za-z0-9-._~\] и ≥256 бит энтропии, (3) проверить пару, пересчитав BASE64URL(SHA256(verifier)). При желании строит полный URL запроса авторизации и тело обмена токена. Дополняет универсальный nonce-generator (только выдаёт пару) аудитом соответствия RFC и проверкой пар.
- [Генератор пары ключей SSH](https://elysiatools.com/ru/tools/ssh-key-generator): Генерирует пару SSH-ключей (рекомендуется Ed25519, либо RSA 4096, ECDSA P-256) с открытым ключом в формате OpenSSH для ~/.ssh/authorized_keys, отпечатком SHA256 и закрытым ключом PEM. Опциональное шифрование паролем. Работает локально.
- [Автономный генератор кодов TOTP / HOTP](https://elysiatools.com/ru/tools/totp-hotp-offline-generator): Генерирует одноразовые пароли TOTP RFC 6238 (6/8 цифр, 30/60 с) и HOTP RFC 4226 (по счётчику) из base32-секрета, локально, с HMAC-SHA1/256/512, и формирует otpauth:// URI
- [Генератор мнемонических фраз BIP39](https://elysiatools.com/ru/tools/mnemonic-bip39-generator): Генерирует или проверяет BIP39-фразы из 12-24 слов с выводом энтропии и seed PBKDF2-HMAC-SHA512
- [Генератор хешей текста](https://elysiatools.com/ru/tools/text-hash-generator): Вычисляет MD5, SHA-1, SHA-256, SHA-512 и CRC-32 любого текста сразу. Возвращает hex и Base64 по UTF-8 кодировке.
- [Генератор хеша пароля Argon2](https://elysiatools.com/ru/tools/argon2-password-hash-generator): Генерирует Argon2id-хеши паролей с настройкой памяти, итераций, параллелизма и длины соли, выводя строку PHC
- [Пакетный генератор кодов](https://elysiatools.com/ru/tools/barcode-batch-generator): Пакетно создает Code 128, EAN-13, UPC-A, ITF-14, QR Code и Data Matrix из CSV или многострочного текста с экспортом в PNG ZIP или PDF
- [Калькулятор энтропии](https://elysiatools.com/ru/tools/entropy-calculator): Измеряет случайность любых данных — энтропия Шеннона (бит/символ), мин-энтропия (сложность подбора в худшем случае), размер алфавита, доля повторов и среднее время взлома перебором при выбранной скорости хэширования. Оценки: Сильно (мин-энтропия ≥128), Средне (64-127), Слабо (<64).

## Примеры

- [Примеры Обработки Изображений Android Java](https://elysiatools.com/ru/samples/android-image-processing-java): Примеры обработки изображений Android Java включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Android Kotlin](https://elysiatools.com/ru/samples/android-image-processing-kotlin): Примеры обработки изображений Android Kotlin включая чтение/сохранение, масштабирование и преобразование формата
- [Примеры Обработки Изображений Web Python](https://elysiatools.com/ru/samples/web-image-processing-python): Примеры обработки изображений Web Python используя PIL/Pillow включая чтение, сохранение, изменение размера и преобразование формата
- [Примеры Обработки Изображений Web Rust](https://elysiatools.com/ru/samples/web-image-processing-rust): Примеры обработки изображений Web Rust включая чтение/запись, масштабирование и преобразование форматов

## Связанные материалы

- [Инструменты для Повтора API-Запросов, Сниппетов и Runtime-Отладки](https://elysiatools.com/ru/hubs/api-request-replay-and-debugging): Собирает конвертацию cURL в код, захват и replay webhook, проверку HMAC, diff ответов, аудит headers, TLS-инспекцию и отладку реального пути API-запроса в одном сфокусированном хабе.
- [Инструменты для токенов, сессий и 2FA](https://elysiatools.com/ru/hubs/token-session-and-2fa-workflows): Отлаживайте реальные сценарии входа с генераторами PKCE и nonce, разбором JWT и JWK, проверкой HMAC, тестами OTP и TOTP и удобными для auth идентификаторами в одном сфокусированном hub.
- [Генераторы JSON-схем, mock-данных и API-fixture](https://elysiatools.com/ru/hubs/json-generate): Подборка инструментов для генерации JSON-схем, сборки mock-payload и подготовки API-fixture в одном хабе.
- [Генераторы CSS-эффектов, палитр и дизайн-токенов](https://elysiatools.com/ru/hubs/design-generate): Подборка инструментов для CSS-визуальных эффектов, построения палитр и генерации дизайн-токенов в одном хабе.
