Calculadora de Hash CSP
Hashes generados
SHA-256 Recomendado
Calculando...
SHA-384
Calculando...
SHA-512
Calculando...
Directiva CSP (usando SHA-256)
Calculando...
HTML con script correspondiente:
...
Cómo funciona: El navegador calcula el hash del contenido de tu script en línea (excluyendo las etiquetas <script>) y lo compara con el hash en tu cabecera CSP. Si coinciden, el script se ejecuta. Cualquier cambio en el script, incluso espacios en blanco, invalida el hash. Se recomienda SHA-256 por su amplia compatibilidad.

Acerca de esta herramienta

Cuando necesitas permitir scripts o estilos inline específicos en tu Content Security Policy (CSP) sin usar ‘unsafe-inline’, puedes utilizar hashes criptográficos. Esta herramienta calcula el hash SHA-256 de tu contenido en el formato base64 exacto que esperan los navegadores.

¿Por qué usar hashes en CSP?

Los hashes proporcionan una forma segura de permitir scripts inline específicos sin abrir la puerta a ataques XSS. Cada hash es único para su contenido exacto, lo que garantiza que solo se ejecuten los scripts autorizados.

Preguntas frecuentes

¿Cuándo debo usar un hash CSP en lugar de un nonce?

Usa un hash para scripts o estilos inline cuyo contenido nunca cambia, así puedes permitirlos sin "unsafe-inline". Si el script contiene valores dinámicos como un ID de usuario, usa un nonce, porque cualquier cambio en el contenido invalida el hash.

¿Por qué mi script inline se sigue bloqueando tras añadir el hash?

Los hashes CSP requieren una coincidencia exacta byte a byte, así que incluso un espacio o salto de línea de más genera un hash distinto y el navegador bloquea el script. Asegúrate de calcular el hash solo del contenido interno, sin las etiquetas "<script>" o "<style>".

¿Cuál es la diferencia entre un hash CSP y un hash SRI?

Un hash CSP (SHA-256 en base64) autoriza código inline específico en tu Content Security Policy. Un hash SRI (normalmente SHA-384) va en el atributo "integrity" de una etiqueta script o link externa para verificar que el archivo descargado no ha sido manipulado.

¿Se envía el contenido de mi script a un servidor?

No. Todo el cálculo del hash se ejecuta localmente en tu navegador mediante la Web Crypto API, por lo que el contenido de tu script o estilo nunca se transmite por la red.

¿Qué algoritmo de hash debo elegir?

SHA-256 es la opción estándar y más compatible para CSP. SHA-384 y SHA-512 también son válidos y se usan habitualmente para Subresource Integrity, pero SHA-256 basta para casi todos los casos de uso de CSP.