¿Qué es Generador de HMAC?
Un generador de HMAC crea códigos de autenticación de mensajes basados en hash con clave, usando una clave secreta y un algoritmo de hash (SHA-256, SHA-512, etc.). Los HMAC verifican tanto la integridad como la autenticidad de los datos, y se usan habitualmente en la autenticación de APIs, firmas de webhooks y tokens JWT.
HMAC mezcla una clave secreta dentro del hash, de modo que solo quien posee esa clave puede verificar la firma. La herramienta admite SHA-1, SHA-256, SHA-384 y SHA-512 con salida hex, Base64, Base64URL o binario sin procesar, además de preajustes de un clic para los webhooks de GitHub, Stripe, Slack y Shopify que rellenan el algoritmo y el prefijo del encabezado correctos. El mensaje puede escribirse como texto plano o pegarse ya codificado en hex, Base64 o Base64URL: se decodifica a bytes sin procesar antes de firmar. Un recuento de bytes en vivo señala las claves más cortas que los 32 bytes seguros para producción, la firma se recalcula mientras escribes y un campo de verificación tolera los prefijos sha256= o v0= que envían esos proveedores. El mensaje y la clave se procesan en tu dispositivo.
Cómo usar
- Paso 1 — Ingresa tu mensaje y la clave secreta.
- Paso 2 — Elige un preajuste de webhook (GitHub, Stripe, Slack, Shopify) o define tú mismo el algoritmo de hash (SHA-1, SHA-256, SHA-384 o SHA-512) y la codificación de salida (hex, Base64, Base64URL o binario). Para pegar una carga ya codificada, cambia la entrada del mensaje a Hex o Base64.
- Paso 3 — Copia la firma HMAC generada para usarla en encabezados de API o en la verificación de webhooks.
Cuándo usar
- Firmar payloads de webhook para que el receptor compruebe que vienen de ti y no se han modificado.
- Generar firmas para AWS Signature Version 4 u otros esquemas de autenticación de API.
- Producir firmas JWT con los algoritmos HS256, HS384 o HS512.
Resultado
Tu API de pagos requiere solicitudes firmadas con HMAC-SHA256. Ingresa el cuerpo de la solicitud como mensaje, tu secreto de API como clave y copia la firma resultante en el encabezado X-Signature.
Preguntas frecuentes
- ¿En qué se diferencia HMAC de un simple SHA-256 sobre message+key?
- HMAC usa un esquema concreto de doble hash con claves rellenadas por dentro y por fuera. Eso protege contra ataques de extensión de longitud que sí afectan a construcciones ingenuas tipo hash(clave‖mensaje) basadas en SHA-1 o SHA-256.
- ¿Hex o Base64 en la salida?
- El que pida el API o el proveedor del webhook. Hex es común en cabeceras HTTP (Stripe, GitHub), Base64 lo es en cuerpos JSON y JWT. La firma es la misma; solo cambia la codificación.
- ¿Qué longitud debe tener la clave secreta?
- Al menos 32 bytes (256 bits) de datos aleatorios, idealmente de una fuente criptográfica. Más corto debilita; más largo que el tamaño de bloque del hash (64 bytes para SHA-256) no aporta porque HMAC lo reduce internamente.
- ¿Por qué mi firma no coincide con la del API?
- Casi siempre es una diferencia en lo que se firma. Espacios, finales de línea, orden exacto de los parámetros de consulta, URL encoding y si se incluye o no el timestamp importan. Reproduce la receta del proveedor byte a byte.
- ¿Sigue siendo seguro HMAC-SHA1?
- Para sistemas nuevos prefiere HMAC-SHA256 o superior. HMAC-SHA1 sigue siendo técnicamente seguro porque la construcción no depende de resistencia a colisiones, pero migrar fuera de SHA-1 es la opción más sensata a largo plazo.
Herramientas relacionadas
Generador de claves PGP
Genera pares de claves de cifrado PGP
Notas Seguras
Crea y almacena notas cifradas localmente
Cifrador de archivos
Cifra archivos con encriptación AES-256
Decodificador de certificados SSL
Decodifica e inspecciona certificados SSL/TLS
Cifrado César
Cifrado por sustitución con rotación personalizada
Generador de frases de contraseña
Genera frases de contraseña seguras y fáciles de recordar