piapia123
es

Firmar y verificar cookies

Cifrado

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Una cookie firmada protege contra la manipulación, no contra el espionaje: el valor sigue en texto claro en el navegador, pero solo un servidor que conozca la clave puede producir un HMAC que coincida. La salida es la forma `s:<base64url(valor)>.<base64url(HMAC)>` de `cookie-signature` de Express, donde el HMAC cubre el valor original (bytes UTF-8). La verificación prueba primero con el algoritmo que hayas elegido; si falla, prueba con los otros tres y, cuando uno coincide, te dice que el algoritmo estaba mal en lugar de un vago «la firma no coincide». La comparación es byte a byte y de tiempo constante, sin cortocircuito. Todo se calcula en local; tu clave no se sube.

Funciones

  • Cuatro HMAC: SHA-256 / SHA-384 / SHA-512 / SHA-1
  • Emite la forma `s:` de `cookie-signature` de Express
  • Muestra la firma hexadecimal para compararla con `openssl dgst -hmac`
  • La verificación separa «formato incorrecto», «clave/valor incorrectos» y «algoritmo equivocado»
  • Si el algoritmo no es el correcto, nombra el que firmó de verdad
  • Comparación byte a byte en tiempo constante para evitar un canal lateral de temporización
  • Una clave vacía se rechaza en vez de emitir una firma falsa que parece plausible
  • Copia una fila suelta o todas

Cómo se usa

  1. Elige Firmar o Verificar
  2. Escribe la clave y elige un algoritmo
  3. En modo firmar escribe el valor de la cookie; en verificar, pega el `s:...` entero
  4. Los resultados salen enseguida, con el desglose y el equivalente en openssl

Preguntas frecuentes

¿Firmar oculta el contenido de la cookie?
No. Firmar solo demuestra que el valor no se ha cambiado: sigue en texto claro y tanto el usuario como cualquier intermediario pueden leerlo. Para la confidencialidad usa HTTPS y no pongas secretos directamente en una cookie. Lo que evita firmar es la falsificación, como convertir user=alice en user=admin.
¿Por qué no comparar las firmas con `===`?
`===` retorna en el primer byte distinto, así que acertar los primeros bytes tarda un poco más que fallar. Un atacante puede promediar esa diferencia a lo largo de muchas peticiones y recuperar la firma byte a byte. Por eso esta herramienta acumula el XOR de todos los bytes y nunca cortocircuita.
¿Cómo debo guardar la clave?
La clave es toda la seguridad del esquema. Tenla solo en el servidor, larga y aleatoria. No la envíes nunca al front-end ni la mandes junto a la cookie. Esta herramienta no guarda lo que escribes, pero sigue siendo una página web: maneja las claves de producción con un comando en tu propia máquina.

Herramientas relacionadas