Generador HMAC en línea — SHA-256/512, firma API

Firma un mensaje con una clave secreta (HMAC-SHA). La salida es hex o base64url sin relleno. El proceso es local. No es un hash de contraseñas ni una base para autenticación en producción.

Cargando…
Generador HMAC para firmas de API
Calcula digests HMAC-SHA a partir de un mensaje y un secreto, en hex, base64 o base64url sin relleno. No es un hash de contraseñas.

Cómo funciona HMAC aquí

Introduce un mensaje y una clave secreta. Elige SHA-256, SHA-384 o SHA-512. El digest se actualiza automáticamente con Web Crypto. Pega un digest esperado para comprobar si coincide. HMAC autentica un mensaje con un secreto compartido. No sirve para almacenar contraseñas: para eso usa bcrypt.

Opciones

Algoritmo
HMAC-SHA-256 (el predeterminado), SHA-384 o SHA-512, que son los algoritmos que Web Crypto admite de forma nativa.
Salida
Usa hex para cabeceras y sumas de verificación, base64url sin relleno para tokens compactos y base64 estándar con relleno para las API que lo esperan.
Hex en mayúsculas
Solo aplica cuando la salida es hex. Se ignora para base64 y base64url.
Codificación de la clave
Cómo se decodifica el secreto antes de HMAC: texto UTF-8 (predeterminado), octetos hex, u octetos base64 / base64url.
Verificar digest
Pega el digest esperado. La comparación ignora mayúsculas y minúsculas y espacios en hex, y el relleno en base64url.

Ejemplos prácticos

Vector clásico

Mensaje

POST /v1/orders HTTP/1.1 host: api.example.test content-type: application/json x-request-id: fm-demo-hmac-signing-fixture-001 {"id":42,"total":19.99,"currency":"USD","items":[{"sku":"FM-001","qty":2}]} # Fixture body for FastMinify HMAC generator sample (not a real request)

HMAC-SHA-256 (hex)

600cc1f2dd302d203d9a41acdcfd2a2a195e6f5a34da12b55af6d1c27e6d9941

Cuerpo de API

Mensaje

{"id":42}

HMAC-SHA-256 (hex)

Digest con tu secreto compartido (SHA-256 en hex por defecto)

Herramientas relacionadas

Para sumas de verificación sin secreto, usa hash-generator. Para almacenar contraseñas, usa bcrypt-hash.

FAQ de HMAC

Digests de firma

¿HMAC es un hash de contraseñas?

No. HMAC firma un mensaje con un secreto compartido. Para almacenar contraseñas usa bcrypt-hash.

¿El base64url lleva relleno?

No. Esta herramienta emite base64url sin relleno, sin = final. Usa la opción de salida base64 cuando la API espere base64 estándar con relleno.

Mi clave de API está en hex o base64, no en texto UTF-8. ¿Qué hago?

Pon la codificación de la clave en hex o base64 para decodificar el secreto a octetos antes de HMAC. En UTF-8 se firman los caracteres, no los octetos de la clave.

¿Cómo compruebo un digest de mi backend?

Pégalo en «Digest esperado». Una coincidencia significa el mismo mensaje, los mismos octetos de clave, el mismo algoritmo y el mismo formato de salida.

¿Mi secreto sale del navegador?

No. Todo el cálculo HMAC se ejecuta en local vía Web Crypto.

Codifica o decodifica Base64, componentes URL y entidades HTML — solo en el cliente.