Перейти к основному содержанию

Генератор подписи API

Создайте подпись HMAC-SHA256 из сообщения и секретного ключа — паттерн подписания канонической строки, используемый в схемах аутентификации запросов API в стиле AWS и в общих схемах. Результат в формате hex или Base64.

Ввод

Вывод

HMAC-SHA256 от сообщения выше, вычисленная с вашим секретным ключом.

Это было полезно?

Руководства

Что делает этот инструмент?

Он вычисляет подпись HMAC-SHA256 из сообщения («строки для подписи») и секретного ключа и выдаёт результат в формате hex или Base64 — тот самый строительный блок, который лежит в основе AWS Signature V4, многих схем проверки вебхуков и большинства самодельных систем аутентификации «подпишите свои запросы API».

Что такое HMAC-подпись и почему это важно?

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

Типичный процесс: соберите каноническую строку из значимых частей запроса (HTTP-метод, путь, заголовки, временная метка, тело — точный рецепт зависит от провайдера), подпишите эту строку HMAC с помощью секрета API и отправьте полученную подпись вместе с запросом, обычно в заголовке. Принимающий сервер пересобирает ту же каноническую строку, подписывает её ключом, который у него есть, и проверяет, совпадают ли две подписи.

Как использовать

  1. Вставьте точную строку, которую нужно подписать, в поле Строка для подписи — это может быть сырое сообщение или каноническая строка запроса, собранная по спецификации вашего API-провайдера (метод, путь, заголовки, временная метка, тело, соединённые в требуемом порядке).
  2. Введите ваш Секретный ключ.
  3. Выберите Hex или Base64 для вывода — уточните в документации вашего API-провайдера, какой формат он ожидает.
  4. Скопируйте Подпись и отправьте её вместе с запросом, обычно в заголовке Authorization или кастомном заголовке подписи.

Подпись обновляется автоматически по мере ввода.

FAQ

Точно ли это соответствует AWS Signature V4 или схеме конкретного вендора? Этот инструмент вычисляет общий примитив HMAC-SHA256, на котором построены эти схемы, а не полную вендорскую реализацию (AWS SigV4, например, поверх HMAC-SHA256 добавляет несколько раундов деривации ключа и весьма специфичный формат канонического запроса). Если ваш провайдер даёт каноническую строку для подписи, вставьте её сюда — полученный HMAC будет корректным; если он требует производные/вложенные ключи (как цепочка ключей подписи в SigV4), вам придётся выполнить эти шаги деривации до финального HMAC.

Почему только SHA-256? SHA-256 — это хеш-функция, которую стандартизируют почти все современные схемы подписи API: это сильный, хорошо проверенный вариант по умолчанию без известных практических атак. Более старые схемы на SHA-1 повсеместно выводятся из эксплуатации, поэтому инструмент их не предлагает.

Hex или Base64 — какой выбрать? Тот, который ожидает ваша API. Оба кодируют одинаковую 32-байтовую подпись; hex вдвое длиннее, но его проще проверить глазами, Base64 компактнее. Сверьтесь с документацией вашего провайдера.

Можно ли использовать это для проверки полученной подписи? Да — подпишите то же сообщение тем же секретным ключом и сравните результат (символ за символом) с присланной подписью. Несовпадение означает, что сообщение или ключ не совпадают с теми, что использовал отправитель.

Конфиденциальность

При использовании в браузере всё — включая ваш секретный ключ — вычисляется локально в JavaScript и никогда не передаётся и не логируется. Если вы вызываете инструмент через API, ваши сообщение и ключ обрабатываются только для этого одного запроса и не логируются и не сохраняются на сервере; тем не менее относитесь к любому секрету API, который вы вставляете сюда (в браузере или через API), как к конфиденциальному и по возможности не используйте продакшен-ключи в общих или логируемых средах.

hmacsha256signatureapiauthenticationcryptohashhexbase64

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/api-signature-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "message",
    "secretKey": "key",
    "outputFormat": "hex"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `api-signature-generator` tool (API Signature Generator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.