# Generador y Verificador HMAC

Calcula una firma HMAC sobre un mensaje + secreto con SHA-1/SHA-2/SHA-3/BLAKE2, o verifica una firma entrante (comparación en tiempo constante), con presets para Stripe / Slack / GitHub

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

- **Categoría:** Security

- **Palabras clave:** hmac, firma, webhook, sha256, mac

## Descripción general

HMAC (código de autenticación basado en hash) demuestra que un mensaje lo envió quien conoce el secreto compartido y no fue alterado — es el mecanismo estándar de webhooks de Stripe, Slack, GitHub, Shopify, etc.

Dos modos:

- **Generar**: pega el cuerpo crudo y tu secreto, elige algoritmo (SHA-1/256/384/512, SHA3-256/512, BLAKE2s-256, BLAKE2b-512) y codificación (hex/base64/base64url).
- **Verificar**: además pega la firma recibida en la cabecera; el工具 recalcula el HMAC y compara en tiempo constante con `crypto.timingSafeEqual`.

Los presets de webhook eligen automáticamente algoritmo, codificación y prefijo para Stripe / Slack / GitHub, y documentan la convención de cada proveedor.

Todo se calcula localmente con `crypto` de Node; el secreto no sale de la petición.

## Entradas

- **Mensaje (cuerpo sin procesar)** (textarea): Paste the raw request body exactly as received (do not re-serialize JSON — byte differences break the signature).
- **Secreto compartido** (text): whsec_... (your webhook signing secret)
- **Modo** (select)
- **Algoritmo** (select)
- **Codificación de firma** (select)
- **Firma a verificar** (text): Paste the signature from the webhook header (verify mode)
- **Preset de webhook** (select)

## Cuándo usarlo

- Cuando necesitas validar la autenticidad de un webhook entrante de Stripe, Slack o GitHub antes de procesar su contenido en tu servidor.
- Al depurar integraciones de API que requieren firmas criptográficas HMAC para asegurar que los datos no hayan sido alterados en tránsito.
- Para generar firmas HMAC de prueba durante el desarrollo de endpoints de API que implementan autenticación basada en secretos compartidos.

## Cómo funciona

- Introduce el cuerpo crudo del mensaje (payload) y la clave secreta compartida en los campos correspondientes.
- Selecciona el algoritmo de hash (como SHA-256) y la codificación de salida (hexadecimal, base64 o base64url), o elige un preset preconfigurado.
- Si estás verificando, introduce la firma recibida en la cabecera para compararla en tiempo constante usando crypto.timingSafeEqual y evitar ataques de canal lateral.

## Casos de uso

- Verificación manual de firmas de webhooks de Stripe durante pruebas locales con herramientas como ngrok.
- Generación de firmas HMAC-SHA256 para simular peticiones firmadas en entornos de pruebas de integración de APIs.
- Comprobación rápida de firmas sospechosas o fallidas para diagnosticar discrepancias de codificación o formato en payloads de Slack.

## Preguntas frecuentes

### ¿Por qué es importante usar el cuerpo crudo del mensaje para calcular el HMAC?

Cualquier cambio en los espacios en blanco o el orden de las propiedades del JSON altera el hash resultante, rompiendo la validación de la firma.

### ¿Qué algoritmos de hash soporta esta herramienta?

Soporta SHA-1, SHA-2 (SHA-256, SHA-384, SHA-512), SHA-3 (SHA3-256, SHA3-512) y BLAKE2 (BLAKE2s-256, BLAKE2b-512).

### ¿Cómo protege esta herramienta mi secreto compartido?

Todos los cálculos criptográficos se realizan localmente en tu navegador mediante la API de Node.js, por lo que el secreto nunca se transmite a servidores externos.

### ¿Qué hace la comparación en tiempo constante?

Evita ataques de temporización (timing attacks) al comparar las firmas carácter por carácter empleando el mismo tiempo de ejecución, independientemente de dónde difieran.

### ¿Qué proveedores de webhooks tienen presets listos?

La herramienta incluye configuraciones automáticas para Stripe, Slack y GitHub, ajustando el algoritmo, la codificación y los prefijos requeridos.

## Herramientas relacionadas

- [Generador de PKCE Code Verifier y Challenge](https://elysiatools.com/es/tools/pkce-code-verifier-generator): Genera, valida y verifica pares code_verifier / code_challenge PKCE (RFC 7636) de OAuth2 / OIDC. Tres modos: (1) generar un par nuevo a partir de bytes aleatorios criptográficos (256/384/512/768 bits), (2) auditar un verifier existente frente al RFC — longitud (43–128), charset \[A-Za-z0-9-._~\] y ≥256 bits de entropía, y (3) verificar un par recomputando BASE64URL(SHA256(verifier)). Opcionalmente construye la URL completa de autorización y el cuerpo del intercambio de token. Complementa al nonce-genérico (que solo emite el par) con auditoría de cumplimiento RFC y verificación de pares.
- [Generador de par de claves SSH](https://elysiatools.com/es/tools/ssh-key-generator): Genera un par de claves SSH (Ed25519 recomendado, o RSA 4096, ECDSA P-256) con la clave pública en formato OpenSSH lista para ~/.ssh/authorized_keys, una huella SHA256 y una clave privada PEM. Cifrado opcional con contraseña. Se ejecuta localmente.
- [Generador de códigos TOTP / HOTP sin conexión](https://elysiatools.com/es/tools/totp-hotp-offline-generator): Genera contraseñas de un solo uso TOTP RFC 6238 (6/8 dígitos, 30/60 s) y HOTP RFC 4226 (por contador) a partir de un secreto base32, sin conexión, con HMAC-SHA1/256/512, y exporta una URI otpauth://
- [Generador de frases mnemónicas BIP39](https://elysiatools.com/es/tools/mnemonic-bip39-generator): Genera o valida frases BIP39 de 12 a 24 palabras con salida de entropía y seed PBKDF2-HMAC-SHA512
- [Generador de hash de texto](https://elysiatools.com/es/tools/text-hash-generator): Calcula MD5, SHA-1, SHA-256, SHA-512 y CRC-32 de cualquier texto de una vez. Devuelve hex y Base64 sobre la codificación UTF-8.
- [Generador de hash de contrasena Argon2](https://elysiatools.com/es/tools/argon2-password-hash-generator): Genera hashes Argon2id con memoria, iteraciones, paralelismo y longitud de salt configurables, con salida PHC
- [Generador por lotes de codigos](https://elysiatools.com/es/tools/barcode-batch-generator): Genera por lotes Code 128, EAN-13, UPC-A, ITF-14, QR Code y Data Matrix desde CSV o texto multilinea con salida PNG ZIP o PDF
- [Calculadora de entropía](https://elysiatools.com/es/tools/entropy-calculator): Mide la aleatoriedad de cualquier dato — entropía de Shannon (bits/símbolo), min-entropía (esfuerzo de adivinación en el peor caso), tamaño del alfabeto, tasa de duplicados y un tiempo medio de ruptura por fuerza bruta a una tasa de hash elegida. Califica como Fuerte (min-entropía ≥128), Medio (64-127) o Débil (<64).

## Ejemplos

- [Ejemplos de Procesamiento de Imágenes Android Java](https://elysiatools.com/es/samples/android-image-processing-java): Ejemplos de procesamiento de imágenes Android Java incluyendo lectura/escritura, escalado y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Android Kotlin](https://elysiatools.com/es/samples/android-image-processing-kotlin): Ejemplos de procesamiento de imágenes Android Kotlin incluyendo lectura/escritura, escalado y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Web Python](https://elysiatools.com/es/samples/web-image-processing-python): Ejemplos de procesamiento de imágenes Web Python usando PIL/Pillow incluyendo lectura, guardado, redimensionamiento y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Web Rust](https://elysiatools.com/es/samples/web-image-processing-rust): Ejemplos de procesamiento de imágenes Web Rust incluyendo lectura/escritura, escalado y conversión de formato

## Contenido relacionado

- [Herramientas de Repeticion de Solicitudes API, Snippets y Depuracion en Runtime](https://elysiatools.com/es/hubs/api-request-replay-and-debugging): Reune conversion de cURL a codigo, captura y replay de webhooks, verificacion HMAC, diff de respuestas, auditoria de headers, inspeccion TLS y depuracion del camino real de una peticion API.
- [Herramientas de flujos de tokens, sesiones y 2FA](https://elysiatools.com/es/hubs/token-session-and-2fa-workflows): Depura flujos reales de inicio de sesion con generadores de PKCE y nonce, inspeccion de JWT y JWK, verificacion HMAC, pruebas de OTP y TOTP, e identificadores seguros reunidos en un solo hub.
- [Generadores de esquemas JSON, datos mock y fixtures de API](https://elysiatools.com/es/hubs/json-generate): Herramientas reunidas para generacion de esquemas JSON, construccion de payloads mock y preparacion de fixtures de API en un solo hub.
- [Generadores de efectos CSS, paletas y tokens de diseno](https://elysiatools.com/es/hubs/design-generate): Herramientas reunidas para efectos visuales CSS, construccion de paletas y generacion de tokens de diseno en un solo hub.
