Herramientas HTML

Gratis Generador de hash CSP

Genera valores hash CSP para scripts y estilos inline. Hashea el código exacto con SHA-256, SHA-384 o SHA-512.

Cargando herramienta...

Qué es Generador de hash CSP?

Un hash CSP es un digesto codificado en base64 SHA-256, SHA-384 o SHA-512 del contenido exacto de un bloque de script o estilo inline. Cuando agrega el hash a su encabezado CSP como script-src 'sha256-...' o style-src 'sha256-...', el navegador permite que ese código inline específico se ejecute mientras bloquea todos los demás scripts o estilos inline. Esta es la alternativa más segura a 'unsafe-inline'.

Respuesta rápida

Use un hash CSP para permitir un script o estilo inline específico sin habilitar todo el código inline con unsafe-inline. El hash es un digesto criptográfico del contenido exacto del código — SHA-256 es el estándar. Agregue el hash a su CSP como script-src 'sha256-...' o style-src 'sha256-...'.

Last updated: 2026-05-28

Limitaciones

  • El hash solo es válido para el contenido exacto hasheado. Cualquier cambio de espacio en blanco, formato o contenido produce un hash completamente diferente y rompe la lista blanca CSP.
  • Algunas herramientas de compilación y minificadores HTML pueden modificar el espacio en blanco inline en producción, invalidando los hashes generados a partir del código de desarrollo. Verifique contra la salida de producción.
  • Los hashes CSP no funcionan con manejadores de eventos inline (onclick, onerror) sin habilitar unsafe-hashes, lo que debilita significativamente la seguridad.

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

Cómo usar esta herramienta

  1. Copie el contenido exacto del script o estilo inline de su HTML — cada espacio, nueva línea y sangría debe coincidir.
  2. Péguelo en el área de texto y seleccione el algoritmo de hash.
  3. Copie el valor hash y agréguelo a su encabezado CSP o meta tag como parte de script-src o style-src.

Para qué puedes usarla

  • Permitir un script inline específico para un cargador de ruta crítica o fragmento de análisis sin habilitar todos los scripts inline.
  • Permitir un bloque de estilo inline pequeño para CSS crítico visible mientras se carga una hoja de estilo.
  • Actualizar un CSP existente que usa unsafe-inline a una lista blanca basada en hash para mayor seguridad.

Casos de uso

Ejemplos prácticos

Ejemplo

Estilo inline de ruta crítica

Una página necesita un estilo inline pequeño para la sección hero visible. Genere el hash del bloque de estilo exacto, agregue style-src 'sha256-...' al CSP y elimine unsafe-inline. El navegador ejecuta solo este bloque de estilo específico.

Ejemplo

Script de arranque de análisis inline

Un sitio centrado en la privacidad carga inline un pequeño script de arranque de análisis. Genere el hash del script, agregue script-src 'sha256-...' y bloquee todos los demás scripts inline, incluidos aquellos que podrían ser inyectados por recursos de terceros comprometidos.

Errores comunes

  • Cambiar aunque sea un solo carácter de espacio en blanco después de generar el hash — el hash ya no coincidirá y el script o estilo será bloqueado.
  • Usar el mismo hash para versiones minificadas y no minificadas del mismo código — producen hashes diferentes.
  • Asumir que un hash de un entorno de desarrollo coincide con la compilación de producción — la minificación de código o el templating cambian el contenido.

Verificación

  1. Revise la consola del navegador en busca de informes de violación CSP después de agregar el hash — un script o estilo bloqueado muestra un mensaje de violación con el hash esperado.
  2. Use el panel Application o la pestaña Security de las herramientas de desarrollo del navegador para inspeccionar la política CSP activa y confirmar que su hash es reconocido.

FAQ

Preguntas sobre Generador de hash CSP

Por qué mi hash deja de funcionar después de editar el código inline?

El hash es un digesto criptográfico de la secuencia exacta de bytes del código inline. Cualquier cambio — agregar un espacio, cambiar la sangría, agregar un comentario o modificar un solo carácter — produce un hash completamente diferente. Debe regenerar el hash cada vez que modifique el código inline. Esto es por diseño: garantiza que solo el código exacto que usted aprobó pueda ejecutarse.

Debería usar un hash o un nonce para CSP?

Los hashes son mejores para código inline estático que rara vez cambia, como CSS crítico o un script de arranque pequeño. Los nonces son mejores para código inline generado dinámicamente porque un nonce cambia en cada carga de página, mientras que un hash necesitaría ser recalculado para cada salida única. Para sitios estáticos, los hashes son más simples porque no requieren generación de nonce del lado del servidor.

Qué es unsafe-hashes y debería habilitarlo?

unsafe-hashes permite aplicar hashes a manejadores de eventos inline (onclick, onerror, etc.) y URL javascript:. Esto es peligroso porque los manejadores de eventos a menudo contienen valores influenciados por el usuario. Solo habilite unsafe-hashes si controla completamente cada atributo de manejador de eventos y comprende que una coincidencia de hash en un manejador de eventos puede permitir la inyección de scripts si la entrada del usuario llega al valor del atributo.

Herramientas relacionadas

Más herramientas html

Prueba también

Prueba también