# Gerador e Verificador HMAC

Calcula uma assinatura HMAC de mensagem + segredo com SHA-1/SHA-2/SHA-3/BLAKE2, ou verifica uma assinatura recebida (comparação em tempo constante), com presets para Stripe / Slack / GitHub

> Página canônica: https://elysiatools.com/pt/tools/hmac-generator-verifier

- **Categoria:** Security

- **Palavras-chave:** hmac, assinatura, webhook, sha256, mac

## Visão geral

HMAC (código de autenticação baseado em hash) prova que uma mensagem foi enviada por quem conhece o segredo compartilhado e não foi alterada — é o mecanismo padrão de assinatura de webhooks do Stripe, Slack, GitHub, Shopify, etc.

Dois modos:

- **Gerar**: cole o corpo bruto e seu segredo, escolha o algoritmo (SHA-1/256/384/512, SHA3-256/512, BLAKE2s-256, BLAKE2b-512) e a codificação (hex/base64/base64url).
- **Verificar**: cole também a assinatura recebida no cabeçalho do webhook; a ferramenta recalcula o HMAC e compara em tempo constante via `crypto.timingSafeEqual`.

Os presets de webhook escolhem automaticamente algoritmo, codificação e prefixo para Stripe / Slack / GitHub, e documentam a convenção de cada provedor.

Tudo é calculado localmente com `crypto` do Node; o segredo não sai da requisição.

## Entradas

- **Mensagem (corpo bruto)** (textarea): Paste the raw request body exactly as received (do not re-serialize JSON — byte differences break the signature).
- **Segredo compartilhado** (text): whsec_... (your webhook signing secret)
- **Modo** (select)
- **Algoritmo** (select)
- **Codificação da assinatura** (select)
- **Assinatura para verificar** (text): Paste the signature from the webhook header (verify mode)
- **Preset de webhook** (select)

## Quando usar

- Ao implementar ou testar a validação de webhooks de serviços como Stripe, Slack, Shopify ou GitHub.
- Para assinar requisições de APIs personalizadas que exigem autenticação baseada em chaves simétricas compartilhadas.
- Durante a depuração de falhas de assinatura para verificar se o payload bruto e o segredo geram o hash esperado.

## Como funciona

- Insira o corpo bruto da mensagem (payload) exatamente como recebido e informe a chave secreta compartilhada.
- Escolha o algoritmo de hash (como SHA-256 ou SHA-512) e o formato de codificação da assinatura (hexadecimal, base64 ou base64url).
- Selecione o modo de operação: 'Apenas gerar' para obter a assinatura correspondente, ou 'Verificar assinatura' para compará-la de forma segura com um hash recebido.

## Casos de uso

- Validação de assinaturas de webhooks do Stripe comparando o payload bruto com o cabeçalho Stripe-Signature.
- Geração de assinaturas HMAC-SHA256 para autenticação de chamadas de API em sistemas de parceiros comerciais.
- Depuração de integrações de webhooks do GitHub utilizando o preset de configuração rápida para SHA-256.

## Perguntas frequentes

### O que é um HMAC?

O HMAC é um código de autenticação de mensagem baseado em hash que utiliza uma chave secreta compartilhada para garantir a integridade e a autenticidade dos dados transmitidos.

### Por que a verificação falha se eu formatar o JSON da mensagem?

Qualquer alteração em espaços, quebras de linha ou ordenação de chaves modifica o hash final. Use sempre o corpo bruto (raw body) idêntico ao enviado pelo remetente.

### Como funcionam os presets de webhook?

Eles configuram automaticamente o algoritmo de hash, a codificação de saída e os prefixos específicos exigidos por plataformas como Stripe, Slack e GitHub.

### O meu segredo compartilhado é enviado para a internet?

Não. Todos os cálculos de HMAC são executados localmente no seu navegador utilizando a API crypto do Node.js, garantindo total privacidade.

### O que é a comparação em tempo constante?

É uma técnica de comparação de strings que leva o mesmo tempo para ser concluída independentemente de onde ocorra uma divergência, prevenindo ataques de temporização (timing attacks).

## Ferramentas relacionadas

- [Gerador de PKCE Code Verifier e Challenge](https://elysiatools.com/pt/tools/pkce-code-verifier-generator): Gera, valida e verifica pares code_verifier / code_challenge PKCE (RFC 7636) de OAuth2 / OIDC. Três modos: (1) gerar um par novo a partir de bytes aleatórios criptográficos (256/384/512/768 bits), (2) auditar um verifier existente frente ao RFC — comprimento (43–128), charset \[A-Za-z0-9-._~\] e ≥256 bits de entropia, e (3) verificar um par recalculando BASE64URL(SHA256(verifier)). Opcionalmente constrói a URL completa de autorização e o corpo de troca de token. Complementa o nonce-generator genérico (que só emite o par) com auditoria de conformidade RFC e verificação de pares.
- [Gerador de par de chaves SSH](https://elysiatools.com/pt/tools/ssh-key-generator): Gera um par de chaves SSH (Ed25519 recomendado, ou RSA 4096, ECDSA P-256) com a chave pública no formato OpenSSH pronta para ~/.ssh/authorized_keys, uma impressão digital SHA256 e uma chave privada PEM. Criptografia opcional com senha. Executa localmente.
- [Gerador de códigos TOTP / HOTP offline](https://elysiatools.com/pt/tools/totp-hotp-offline-generator): Gera senhas de uso único TOTP RFC 6238 (6/8 dígitos, 30/60 s) e HOTP RFC 4226 (por contador) a partir de um segredo base32, offline, com HMAC-SHA1/256/512, e exporta uma URI otpauth://
- [Gerador de frases mnemônicas BIP39](https://elysiatools.com/pt/tools/mnemonic-bip39-generator): Gera ou valida frases BIP39 de 12 a 24 palavras com saída de entropia e seed PBKDF2-HMAC-SHA512
- [Gerador de hash de texto](https://elysiatools.com/pt/tools/text-hash-generator): Calcula MD5, SHA-1, SHA-256, SHA-512 e CRC-32 de qualquer texto de uma vez. Retorna hex e Base64 sobre a codificação UTF-8.
- [Gerador de hash de senha Argon2](https://elysiatools.com/pt/tools/argon2-password-hash-generator): Gera hashes Argon2id com memoria, iteracoes, paralelismo e comprimento de salt ajustaveis, com saida PHC
- [Gerador em lote de codigos](https://elysiatools.com/pt/tools/barcode-batch-generator): Gera em lote Code 128, EAN-13, UPC-A, ITF-14, QR Code e Data Matrix a partir de CSV ou texto multilinha com saida PNG ZIP ou PDF
- [Calculadora de entropia](https://elysiatools.com/pt/tools/entropy-calculator): Mede a aleatoriedade de quaisquer dados — entropia de Shannon (bits/símbolo), min-entropia (esforço de adivinhação no pior caso), tamanho do alfabeto, taxa de duplicatas e um tempo médio de quebra por força bruta a uma taxa de hash escolhida. Classifica como Forte (min-entropia ≥128), Médio (64-127) ou Fraco (<64).

## Exemplos

- [Exemplos de Processamento de Imagem Android Java](https://elysiatools.com/pt/samples/android-image-processing-java): Exemplos de processamento de imagem Android Java incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Android Kotlin](https://elysiatools.com/pt/samples/android-image-processing-kotlin): Exemplos de processamento de imagem Android Kotlin incluindo leitura/escrita, dimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Python](https://elysiatools.com/pt/samples/web-image-processing-python): Exemplos de processamento de imagem Web Python usando PIL/Pillow incluindo leitura, salvamento, redimensionamento e conversão de formato
- [Exemplos de Processamento de Imagem Web Rust](https://elysiatools.com/pt/samples/web-image-processing-rust): Exemplos de processamento de imagem Web Rust incluindo leitura/gravação, redimensionamento e conversão de formato

## Conteúdo relacionado

- [Ferramentas de Replay de Requisicoes API, Snippets e Debug em Runtime](https://elysiatools.com/pt/hubs/api-request-replay-and-debugging): Reune conversao de cURL para codigo, captura e replay de webhooks, verificacao HMAC, diff de respostas, auditoria de headers, inspecao TLS e depuracao do caminho real de uma requisicao API.
- [Ferramentas de fluxo para tokens, sessoes e 2FA](https://elysiatools.com/pt/hubs/token-session-and-2fa-workflows): Depure fluxos reais de login com geradores de PKCE e nonce, inspecao de JWT e JWK, verificacao HMAC, testes de OTP e TOTP e identificadores uteis para autenticacao reunidos em um unico hub.
- [Geradores de schema JSON, dados mock e fixtures de API](https://elysiatools.com/pt/hubs/json-generate): Ferramentas reunidas para geracao de schema JSON, construcao de payloads mock e preparacao de fixtures de API em um unico hub.
- [Geradores de efeitos CSS, paletas e tokens de design](https://elysiatools.com/pt/hubs/design-generate): Ferramentas reunidas para efeitos visuais em CSS, construcao de paletas e geracao de tokens de design em um unico hub.
