Pular para o conteúdo principal

Gerador de Assinatura de API

Gere uma assinatura HMAC-SHA256 a partir de uma mensagem e de uma chave secreta — o padrão de assinatura de string canônica usado por esquemas de autenticação de requisições de API do tipo AWS e genéricos. Saída em hex ou Base64.

Entrada

Saída

HMAC-SHA256 da mensagem acima, autenticada com sua chave secreta.

Isso foi útil?

Guias

O que esta ferramenta faz?

Ela calcula uma assinatura HMAC-SHA256 a partir de uma mensagem (uma "string para assinar") e de uma chave secreta, e exibe o resultado como hex ou Base64 — exatamente o bloco de construção por trás do AWS Signature V4, de muitos esquemas de verificação de webhook e da maioria dos sistemas caseiros de autenticação de "assine suas requisições de API".

O que é assinatura HMAC, e por que isso importa?

HMAC (Hash-based Message Authentication Code, Código de Autenticação de Mensagem Baseado em Hash) combina uma função de hash criptográfica — aqui, SHA-256 — com uma chave secreta, de modo que apenas alguém que conheça a chave possa produzir uma assinatura válida para uma determinada mensagem, e qualquer pessoa com a chave possa verificar uma. As APIs usam isso para provar duas coisas ao mesmo tempo: que uma requisição realmente veio de um detentor da chave secreta e que seu conteúdo não foi alterado em trânsito. Ao contrário do SHA-256 puro, apenas aplicar hash à mensagem permitiria que qualquer pessoa recalculasse o mesmo hash — é a chave secreta que a torna infalsificável.

O fluxo típico: construa uma string canônica com as partes da requisição que importam (método HTTP, caminho, cabeçalhos, timestamp, corpo — a receita exata varia conforme o provedor), assine essa string com HMAC usando seu segredo de API e envie a assinatura resultante junto com a requisição, geralmente em um cabeçalho. O servidor receptor reconstrói a mesma string canônica, assina-a com a chave que tem em arquivo e verifica se as duas assinaturas coincidem.

Como usar

  1. Cole a string exata que você precisa assinar em String para assinar — pode ser uma mensagem bruta ou uma string canônica de requisição construída segundo a especificação do seu provedor de API (método, caminho, cabeçalhos, timestamp, corpo, unidos na ordem exigida).
  2. Digite sua Chave secreta.
  3. Escolha Hex ou Base64 para a saída — verifique na documentação do seu provedor de API qual deles ele espera.
  4. Copie a Assinatura e envie-a junto com a sua requisição, normalmente em um cabeçalho Authorization ou de assinatura personalizada.

A assinatura é atualizada automaticamente enquanto você digita.

Perguntas frequentes

Isso corresponde exatamente ao AWS Signature V4 ou ao esquema de um fornecedor específico? Esta ferramenta calcula o primitivo HMAC-SHA256 genérico sobre o qual esses esquemas são construídos, não uma implementação completa específica de fornecedor (o AWS SigV4, por exemplo, acrescenta várias rodadas de derivação de chave e um formato de requisição canônica muito particular sobre o HMAC-SHA256). Se o seu provedor fornecer uma string canônica para assinar, cole-a aqui e o HMAC resultante será correto; se ele exigir chaves derivadas/encadeadas (como a cadeia de chaves de assinatura do SigV4), você precisará executar essas etapas de derivação antes do HMAC final.

Por que apenas SHA-256? SHA-256 é a função de hash que quase todos os esquemas modernos de assinatura de API padronizam — é um padrão forte e bem testado, sem ataques práticos conhecidos. Esquemas mais antigos baseados em SHA-1 estão sendo descontinuados em toda a indústria, por isso esta ferramenta não os oferece.

Hex ou Base64 — qual devo usar? Qualquer um que a sua API esperar. Ambos codificam a assinatura idêntica de 32 bytes; o hex é duas vezes mais longo, porém mais fácil de conferir visualmente; o Base64 é mais compacto. Verifique a documentação do seu provedor.

Posso usar isso para verificar uma assinatura que recebi? Sim — assine a mesma mensagem com a mesma chave secreta e compare o resultado (caractere por caractere) com a assinatura que você recebeu. Uma divergência significa que a mensagem ou a chave não correspondem às que o remetente usou.

Privacidade

Quando usado no navegador, tudo — inclusive sua chave secreta — é calculado localmente em JavaScript e nunca é transmitido ou registrado. Se você chamar esta ferramenta pela API, sua mensagem e chave serão processadas apenas para aquela única requisição e não serão registradas ou armazenadas no servidor; ainda assim, trate qualquer segredo de API que você colar aqui (no navegador ou na API) como sensível e evite reutilizar chaves de produção em ambientes compartilhados ou registrados sempre que puder.

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.

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.