Генератор HMAC онлайн
Генерируйте подпись HMAC из сообщения и секретного ключа с SHA-256, SHA-1, SHA-384 или SHA-512 в вашем браузере. Ваш ключ остаётся локально.
Генератор HMAC работает целиком в вашем браузере с помощью Web Crypto API. Сообщение, которое вы подписываете, и секретный ключ, который вы вводите, никогда не покидают ваше устройство и не загружаются в ArrayKit.
Открыть генератор хешей
Об инструменте Генератор HMAC
Генератор HMAC подписывает сообщение секретным ключом, чтобы получить хеш с ключом — тот же код аутентификации, который использует ваш API или вебхук, чтобы доказать, что полезная нагрузка не была подделана. Введите или вставьте сообщение и секрет, выберите SHA-256, SHA-1, SHA-384 или SHA-512 и прочитайте подпись как в HEX, так и в Base64. Ключ может быть обычным текстом UTF-8 или байтовой строкой в HEX-кодировке, так что он согласуется с тем, что ожидает ваш сервер. Инструмент создан для разработчиков, проверяющих подписи вебхуков, настраивающих подписанные заголовки запросов, тестирующих схему HMAC API или сверяющих значение с выводом библиотеки. Всё вычисляется на вашем устройстве с помощью Web Crypto API — сообщение и секретный ключ никогда не покидают ваш браузер.
Возможности
- Подпись любого сообщения секретным ключом и мгновенное чтение HMAC
- Переключение между хеш-функциями SHA-256, SHA-1, SHA-384 и SHA-512
- Просмотр подписи как HEX в нижнем регистре и стандартного Base64 рядом
- Ввод секретного ключа как текста UTF-8 или байтовой строки в HEX-кодировке
- Совпадает с выводом HMAC на стороне сервера и в библиотеках байт в байт
- Копирование HEX- или Base64-подписи в один клик
- Понятная ошибка, когда HEX-ключ имеет нечётную длину или не-HEX символы
- Работает на вашем устройстве через Web Crypto API, ничего не загружается
Как использовать Генератор HMAC
- Выберите алгоритм хеширования, который использует ваш сервис (SHA-256 самый распространённый)
- Введите или вставьте сообщение, которое хотите аутентифицировать
- Введите секретный ключ и выберите UTF-8 или Hex в соответствии с его форматом
- Прочитайте HMAC как HEX или Base64 и скопируйте нужное значение
Пример
Ввод
message: The quick brown fox jumps over the lazy dog
key: key (UTF-8)
algorithm: SHA-256
Результат
hex: f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
base64: 97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
HMAC-SHA256 классического предложения про лису, с ключом "key".
Частые ошибки и устранение неполадок
- Подпись не совпадает с тем, что производит мой сервер. — Подтвердите, что вы выбрали тот же хеш (SHA-256 против SHA-1) и тот же формат ключа. Ключ вроде a0b1c2 отличается как сырой текст UTF-8 от HEX-байтов — переключите тумблер Hex в соответствии с тем, как сервер его читает.
- Ошибка: HEX-ключ должен иметь чётное число цифр. — В режиме HEX-ключа каждый байт это два HEX-символа, поэтому длина ключа должна быть чётной. Уберите лишний символ или добавьте недостающую цифру либо переключитесь в режим UTF-8, если ключ действительно текст.
- API хочет подпись как Base64, но у меня только HEX. — Вам ничего не нужно преобразовывать — этот инструмент показывает одну и ту же подпись и как HEX, и как Base64. Скопируйте значение Base64 прямо из второй строки.
- Замыкающий перевод строки или пробелы меняют результат. — HMAC покрывает каждый байт сообщения, поэтому замыкающий перевод строки или пробел даёт другой код. Подписывайте точные байты, которые отправляет ваш сервис, без добавленных пробелов.
Часто задаваемые вопросы
- Что вычисляет этот генератор HMAC?
- Он вычисляет код аутентификации сообщения на основе хеша с ключом: он объединяет ваше сообщение с секретным ключом под хеш-функцией (SHA-256, SHA-1, SHA-384 или SHA-512) и возвращает получившуюся подпись как HEX и Base64. Любой с тем же ключом может пересчитать её, чтобы проверить сообщение.
- Вводить ключ как UTF-8 или HEX?
- Соответствуйте тому, как ваш сервис хранит ключ. Если секрет это обычная строка или парольная фраза, используйте UTF-8. Если это последовательность HEX-байтов (обычно для случайно сгенерированных ключей), переключитесь на Hex, чтобы использовались точно те же байты — эти два дают разные подписи.
- Какой алгоритм HMAC выбрать?
- HMAC-SHA256 является значением по умолчанию для большинства API и вебхуков. Выберите SHA-384 или SHA-512 для более длинной подписи или SHA-1 только тогда, когда нужно соответствовать более старой системе, поскольку SHA-1 считается слабым для новых проектов.
- Как проверить подпись вебхука с помощью этого?
- Вставьте сырую полезную нагрузку вебхука как сообщение, введите общий секрет подписи как ключ, выберите алгоритм, задокументированный провайдером, и сравните HEX- или Base64-вывод с заголовком подписи, который они прислали. Совпадение подтверждает, что полезная нагрузка подлинна и не изменена.
- Загружаются ли моё сообщение или секретный ключ куда-либо?
- Нет. HMAC вычисляется в вашем браузере с помощью Web Crypto API. Сообщение, которое вы подписываете, и секретный ключ, который вы вводите, никогда не покидают ваше устройство и не отправляются в ArrayKit или на какой-либо сервер.
- Почему вывод и в HEX, и в Base64?
- Разные сервисы кодируют одни и те же байты HMAC по-разному — одни заголовки используют HEX в нижнем регистре, другие используют Base64. Этот инструмент показывает обе кодировки идентичной подписи, чтобы вы могли скопировать тот формат, который ожидает ваш API, без ручного преобразования.
Связанные инструменты
Все инструменты ArrayKit