Seguridad

Generador HMAC

Una herramienta de firma HMAC para autenticación de API, verificación de Webhooks, diagnóstico de callbacks de pago y comprobación de integridad de solicitudes. Admite entrada de texto y archivos, cambio de formato de clave, varios algoritmos HMAC, y salida en Hex o Base64.

  • Admite HMAC-MD5, HMAC-SHA1, HMAC-SHA2, HMAC-SHA3, HMAC-Keccak, HMAC-BLAKE2, HMAC-BLAKE3 y HMAC-SM3
  • Permite firmar mensajes de texto y calcular HMAC sobre payloads de archivo
  • Admite claves en texto, Hex y Base64 para depurar según los bytes reales
  • Genera firmas en lower hex, UPPER HEX y Base64 para ajustarse a distintos contratos de plataforma
tools/Generador HMAC
24 B
Texto
HMAC-SHA256 · lower hex
HMAC-SHA256 · lower hex
Comandos

Resumen

Desde generar una firma hasta investigar por qué no coincide, todo el flujo HMAC se puede revisar en una sola página.

  1. 01

    HMAC con varios algoritmos

    Cambia en una misma interfaz entre SHA-256, SHA-512, SHA3, Keccak, BLAKE, SM3 y algoritmos compatibles con sistemas antiguos.

  2. 02

    Firma de mensajes y archivos

    Calcula HMAC para texto simple, payloads JSON, raw body de Webhooks, canonical strings y archivos locales.

  3. 03

    HMAC de archivos por bloques

    Los archivos grandes se procesan por bloques dentro del navegador, con progreso visible durante tareas largas.

  4. 04

    Cambio de formato de clave

    Admite claves en texto, Hex y Base64, para confirmar que ambas partes calculan con los mismos bytes y no solo con cadenas que se ven iguales.

  5. 05

    Codificación de salida flexible

    La firma puede salir como lower hex, UPPER HEX o Base64, según lo que exijan API, Webhooks, almacenamiento de objetos y otros protocolos.

  6. 06

    Procesamiento local por bloques

    Texto, secret y archivos se calculan en el navegador. Incluso con archivos grandes, no hace falta entregar el payload original a servidores externos.

Cómo usarla

Conviene revisar en este orden: contenido firmado, bytes de la clave, algoritmo y formato de salida; después compara con el resultado del servidor.

  1. 01

    Elige el tipo de entrada. Usa modo texto para canonical strings o request body, y modo archivo para payloads binarios.

  2. 02

    Introduce la Secret key y confirma antes de calcular si su formato es texto, Hex o Base64.

  3. 03

    Selecciona el algoritmo HMAC que exige el backend o la plataforma externa, cuidando nombre y variante.

  4. 04

    Elige el formato de salida, Hex o Base64, copia la firma generada y compárala con el valor esperado del servidor.

  5. 05

    Si la verificación falla, revisa primero si el payload fue normalizado, si el orden de campos coincide, si codificación y saltos de línea son iguales, y si el timestamp se concatena con la misma regla.

Detalles

No está pensada solo para emitir un digest puntual, sino para flujos reales de verificación de firmas.

  • Genera HMAC-SHA256, HMAC-SHA512, HMAC-SHA3, HMAC-BLAKE3 y HMAC-SM3 en línea
  • Sirve para cadenas de firma de API, payloads de Webhook, validación de callbacks de pago y diagnóstico de URL firmadas
  • Trata claves de texto, Hex y Base64 con conversión determinista a bytes
  • Permite elegir lower hex, UPPER HEX y Base64 para cumplir las reglas de firma de cada plataforma
  • El HMAC de archivos admite procesamiento por bloques, progreso y cancelación
  • Incluye payloads de ejemplo para iniciar una integración o depuración con un clic
  • El espacio de trabajo en pantalla completa y el progreso ayudan con payloads largos, cadenas de firma y comprobaciones de archivo
  • Todos los cálculos se realizan en el navegador, útil para preservar la privacidad de claves y depurar internamente

Casos de uso

Adecuado para seguridad de API, integración con plataformas y diagnóstico de firmas que no coinciden.

  1. Depuración de autenticación de API

    Recalcula firmas de solicitud para localizar diferencias de orden de campos, codificación y canonicalization.

  2. Verificación de firmas Webhook

    Vuelve a firmar el raw callback payload recibido para confirmar la fuente y comprobar que el payload no fue alterado.

  3. Integración con pasarelas de pago

    Valida firmas de solicitudes y callbacks siguiendo las reglas específicas de cada proveedor de pago.

  4. URL firmadas y acceso a almacenamiento

    Genera o verifica firmas de canonical string usadas en control de acceso para almacenamiento de objetos o CDN.

Ver también

Si solo necesitas comprobar si un texto o archivo cambió y no hay un secret compartido, usa Generador de hash . Si el problema involucra header, payload, caducidad o estructura de firma de un token, revisa Inspector de JWT . Si el objeto firmado contiene query string, callback URL o reglas de codificación porcentual, antes de recalcular el HMAC conviene usar Codificador y decodificador de URL para confirmar los límites de bytes.

Buenas prácticas

Que una verificación HMAC pase o falle depende de que ambos lados calculen exactamente los mismos bytes.

  • Asegura que algoritmo, bytes del mensaje original y bytes de la secret key coincidan exactamente con la implementación del servidor
  • Define con claridad si se firma el raw body, el query string ordenado o una canonical string
  • Unifica codificación UTF-8 y reglas de salto de línea antes de firmar
  • Evita transformaciones implícitas, como reformatear JSON, aplicar trim o hacer URL decode automático
  • No expongas claves de firma de producción en código frontend, logs o capturas de pantalla
  • Mantén vectores de prueba de firma en CI para detectar cambios de comportamiento tras actualizar dependencias o frameworks

Limitaciones

Entender los límites de HMAC ayuda a evitar expectativas de seguridad equivocadas.

  • HMAC sirve para integridad con clave y confirmación de origen; no es un cifrado reversible que permita recuperar el contenido
  • Esta herramienta no gestiona ciclo de vida de claves, rotación ni custodia segura
  • Si el servidor aplica pasos adicionales de normalización antes de firmar, debes construir exactamente la misma entrada antes de calcular
  • Base64 tiene forma estándar y forma URL-safe; sigue siempre lo que indique el protocolo de destino
  • El tiempo para firmar archivos grandes depende del rendimiento local y de los recursos disponibles en el navegador

Preguntas frecuentes

Respuestas a dudas comunes sobre uso, tratamiento de datos, comparación de resultados y límites reales.

¿Por qué mi HMAC no coincide con el resultado del servidor?

La mayoría de discrepancias vienen de canonical strings distintas, codificación diferente, orden de campos, interpretación de la clave o formato de salida.

¿Qué diferencia hay entre clave de texto y clave Hex?

Una clave de texto se convierte a bytes mediante codificación de caracteres; una clave Hex representa una secuencia explícita de bytes. Dos cadenas visualmente iguales pueden participar en HMAC con bytes muy distintos.

¿Cuándo debería generar Base64 en lugar de Hex?

Depende del protocolo de destino. Muchos sistemas Webhook esperan Base64, mientras que algunos API gateways usan Hex.

¿El archivo se sube durante el cálculo HMAC?

No. El archivo se procesa por bloques dentro del navegador y el cálculo se completa localmente.

¿HMAC-SHA256 y SHA256 son lo mismo?

No. SHA256 es un hash sin clave; HMAC-SHA256 combina una secret key con el mensaje y se usa para verificar autenticidad.

Herramientas relacionadas

Para digest sin clave usa el generador de hashes; para decodificar y verificar tokens usa el inspector JWT; para reforzar credenciales usa el generador de contraseñas.