Генератор подписи 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 и отправьте полученную подпись вместе с запросом, обычно в заголовке. Принимающий сервер пересобирает ту же каноническую строку, подписывает её ключом, который у него есть, и проверяет, совпадают ли две подписи.
Как использовать
- Вставьте точную строку, которую нужно подписать, в поле Строка для подписи — это может быть сырое сообщение или каноническая строка запроса, собранная по спецификации вашего API-провайдера (метод, путь, заголовки, временная метка, тело, соединённые в требуемом порядке).
- Введите ваш Секретный ключ.
- Выберите Hex или Base64 для вывода — уточните в документации вашего API-провайдера, какой формат он ожидает.
- Скопируйте Подпись и отправьте её вместе с запросом, обычно в заголовке
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), как к конфиденциальному и по возможности не используйте продакшен-ключи в общих или логируемых средах.
Use it from code
From 3 credits per callREST 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_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.