Generador de HMAC online
Genera una firma HMAC a partir de un mensaje y una clave secreta con SHA-256, SHA-1, SHA-384 o SHA-512 en tu navegador. Tu clave permanece local.
El Generador de HMAC funciona por completo en tu navegador usando la Web Crypto API. El mensaje que firmas y la clave secreta que introduces nunca salen de tu dispositivo y no se suben a ArrayKit.
Abre el Generador de hash
Acerca de Generador de HMAC
El Generador de HMAC firma un mensaje con una clave secreta para producir un hash con clave, el mismo código de autenticación que usa tu API o webhook para probar que una carga no fue manipulada. Escribe o pega el mensaje y el secreto, elige SHA-256, SHA-1, SHA-384 o SHA-512, y lee la firma de vuelta como hex y Base64. La clave puede ser texto UTF-8 simple o una cadena de bytes codificada en hex, así que encaja con lo que sea que espere tu servidor. Está pensado para desarrolladores que verifican firmas de webhooks, configuran cabeceras de petición firmadas, prueban el esquema HMAC de una API, o comprueban un valor frente a la salida de una biblioteca. Todo se calcula en tu dispositivo con la Web Crypto API: el mensaje y la clave secreta nunca salen de tu navegador.
Características
- Firma cualquier mensaje con una clave secreta y lee el HMAC al instante
- Alterna entre las funciones hash SHA-256, SHA-1, SHA-384 y SHA-512
- Ve la firma como hex en minúsculas y Base64 estándar lado a lado
- Introduce la clave secreta como texto UTF-8 o como cadena de bytes codificada en hex
- Coincide con la salida HMAC del lado del servidor y de las bibliotecas byte a byte
- Copia la firma hex o Base64 con un solo clic
- Error claro cuando una clave hex tiene longitud impar o caracteres no hex
- Funciona en tu dispositivo vía la Web Crypto API sin subir nada
Cómo usar Generador de HMAC
- Elige el algoritmo hash que usa tu servicio (SHA-256 es el más común)
- Escribe o pega el mensaje que quieres autenticar
- Introduce la clave secreta y elige UTF-8 o Hex para coincidir con su formato
- Lee el HMAC como hex o Base64 y copia el valor que necesites
Ejemplo
Entrada
message: The quick brown fox jumps over the lazy dog
key: key (UTF-8)
algorithm: SHA-256
Salida
hex: f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
base64: 97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=
HMAC-SHA256 de la clásica frase del zorro, con la clave "key".
Errores comunes y solución de problemas
- La firma no coincide con la que produce mi servidor. — Confirma que elegiste el mismo hash (SHA-256 vs SHA-1) y el mismo formato de clave. Una clave como a0b1c2 es distinta como texto UTF-8 en bruto que como bytes hex; cambia el interruptor Hex para coincidir con cómo la lee el servidor.
- Error: la clave hex debe tener un número par de dígitos. — En modo clave Hex cada byte son dos caracteres hex, así que la longitud de la clave debe ser par. Elimina cualquier carácter suelto o añade el dígito que falta, o cambia a modo UTF-8 si la clave es realmente texto.
- La API quiere la firma como Base64 pero solo tengo el hex. — No necesitas convertir nada: esta herramienta muestra la misma firma como hex y como Base64. Copia el valor Base64 directamente de la segunda fila.
- Un salto de línea o espacios al final cambian el resultado. — El HMAC cubre cada byte del mensaje, así que un salto de línea o espacio al final produce un código distinto. Firma los bytes exactos que envía tu servicio, sin espacios en blanco añadidos.
Preguntas frecuentes
- ¿Qué calcula este Generador de HMAC?
- Calcula un código de autenticación de mensajes con clave hash: combina tu mensaje con una clave secreta bajo una función hash (SHA-256, SHA-1, SHA-384 o SHA-512) y devuelve la firma resultante como hex y Base64. Cualquiera con la misma clave puede recalcularla para verificar el mensaje.
- ¿Debo introducir mi clave como UTF-8 o hex?
- Coincide con cómo guarda tu servicio la clave. Si el secreto es una cadena normal o una frase de contraseña, usa UTF-8. Si es una secuencia de bytes hex (común para claves generadas al azar), cambia a Hex para usar exactamente los mismos bytes; los dos producen firmas distintas.
- ¿Qué algoritmo HMAC debo elegir?
- HMAC-SHA256 es el predeterminado para la mayoría de las API y webhooks. Elige SHA-384 o SHA-512 para una firma más larga, o SHA-1 solo cuando debas coincidir con un sistema antiguo, ya que SHA-1 se considera débil para diseños nuevos.
- ¿Cómo verifico una firma de webhook con esto?
- Pega la carga en bruto del webhook como mensaje, introduce el secreto de firma compartido como clave, elige el algoritmo que documenta el proveedor, y compara la salida hex o Base64 con la cabecera de firma que enviaron. Una coincidencia confirma que la carga es auténtica y no fue modificada.
- ¿Se suben a algún sitio mi mensaje o clave secreta?
- No. El HMAC se calcula en tu navegador con la Web Crypto API. El mensaje que firmas y la clave secreta que introduces nunca salen de tu dispositivo y no se envían a ArrayKit ni a ningún servidor.
- ¿Por qué la salida está en hex y Base64 a la vez?
- Distintos servicios codifican los mismos bytes HMAC de forma diferente: algunas cabeceras usan hex en minúsculas, otras usan Base64. Esta herramienta muestra ambas codificaciones de la firma idéntica para que copies el formato que espere tu API sin convertir a mano.
Herramientas relacionadas
Todas las herramientas de ArrayKit