Generador de hash SRI gratis

Genera hashes de Subresource Integrity para scripts externos. Gratis, rápido y funciona por completo en tu navegador sin necesidad de registro.

Actualizado

Share:
Home/Security Tools/SRI Generator

SRI Generator

Generate Subresource Integrity (SRI) hashes for scripts and stylesheets to protect against CDN compromises and supply-chain attacks.

SRI Hash Generator

Drag & drop JS/CSS files or click to browse

Preguntas Frecuentes

¿Qué es el generador de hashes SRI?

El generador de hashes SRI es una herramienta en línea gratuita que crea hashes de Subresource Integrity para scripts y hojas de estilo externos, protegiéndolos frente al compromiso de una CDN.

¿El generador de hashes SRI es gratuito?

Sí, es completamente gratuito y no requiere registro. Toda la generación de hashes se realiza del lado del cliente en tu navegador.

¿Por qué necesito hashes SRI?

Los hashes SRI garantizan que los scripts externos cargados desde CDN no han sido manipulados. Si el archivo cambia, el navegador impedirá que se ejecute.

¿Están seguros mis datos con esta herramienta?

Por supuesto. El generador de hashes SRI procesa todo del lado del cliente en tu navegador. No se sube ni se almacena ningún dato en ningún servidor. Tu contenido permanece privado en tu dispositivo en todo momento.

¿Funciona el generador de hashes SRI en dispositivos móviles?

Sí, el generador de hashes SRI es totalmente adaptable y funciona en teléfonos y tabletas. Puedes usarlo en cualquier dispositivo con un navegador web moderno, sin necesidad de descargar ninguna aplicación.

¿Necesito crear una cuenta para usar esta herramienta?

No se necesita ninguna cuenta ni registro. Simplemente abre el generador de hashes SRI en tu navegador y empieza a usarlo de inmediato. No hay barreras de registro ni restricciones de uso.

¿Cómo uso el generador de hashes SRI?

Solo tienes que introducir tu texto en el campo correspondiente, ajustar las opciones a tu gusto y la herramienta lo procesará al instante. Después puedes copiar el resultado al portapapeles o descargarlo.

¿Qué navegadores son compatibles?

El generador de hashes SRI funciona en todos los navegadores modernos, incluidos Chrome, Firefox, Safari, Edge y Opera. Para una mejor experiencia, usa la última versión de tu navegador preferido.

¿Cuál es la diferencia entre SHA-256, SHA-384 y SHA-512 para los hashes SRI?

Los tres son funciones hash de la familia SHA-2 y los tres son válidos para Subresource Integrity; la diferencia está en la longitud del resumen y el margen de seguridad que ofrece. SHA-256 produce un hash de 256 bits, SHA-384 uno de 384 bits y SHA-512 uno de 512 bits, así que el atributo integrity se va alargando progresivamente. La especificación del W3C designa SHA-384 como opción predeterminada recomendada porque equilibra un margen de seguridad sólido con la longitud del atributo, y por eso esta herramienta lo selecciona por defecto. Aun así, no estás obligado a usar solo uno: puedes incluso listar varios hashes en un mismo atributo, como integrity="sha384-... sha512-...", y el navegador usará el algoritmo más fuerte que reconozca. Genera tu archivo aquí y la herramienta devuelve los tres resúmenes a la vez, con el que coincide con el algoritmo seleccionado marcado como principal para que copies el que prefieras.

¿Por qué un script protegido con SRI necesita el atributo crossorigin="anonymous"?

Subresource Integrity solo puede verificar un archivo que el navegador tenga permiso para leer, y en el caso de un recurso cargado desde un origen distinto al de tu página, ese permiso proviene de CORS. Añadir crossorigin="anonymous" hace que el navegador envíe una solicitud de origen cruzado anónima, y siempre que el servidor devuelva las cabeceras CORS correctas, la respuesta se vuelve legible para poder calcular y comparar su hash. Si se omite el atributo, el navegador trata la respuesta de origen cruzado como opaca: no puede leer los bytes, no puede verificar el hash de integridad y se niega a cargar el recurso, por lo que tu script u hoja de estilos falla en silencio. Por eso cada etiqueta script y link que genera esta herramienta ya incluye crossorigin="anonymous". Pega tu archivo o URL, copia la etiqueta terminada y el atributo CORS queda resuelto por ti.

¿Qué ocurre en el navegador cuando un hash SRI no coincide con el archivo?

Cuando añades un atributo integrity, el navegador descarga el recurso, calcula el hash de los bytes con el algoritmo indicado y compara el resultado con el valor que proporcionaste. Si coinciden, el archivo se ejecuta con normalidad. Si difieren por cualquier motivo —el archivo fue modificado, reemplazado o el CDN fue comprometido—, el navegador se niega a usarlo por completo: un script bloqueado nunca se ejecuta y una hoja de estilos bloqueada nunca se aplica, y se registra un error de red en la consola. Este fallo estricto es precisamente el objetivo, ya que convierte un compromiso silencioso de la cadena de suministro en un bloqueo visible y forzado en lugar de dejar que se ejecute código manipulado. Como un recurso bloqueado puede romper una página, esta herramienta también puede generar un respaldo con onerror que sustituye el archivo por una copia local, de modo que la página se degrada con elegancia. Genera un hash arriba y añádelo a tu etiqueta para activar esta protección.

¿Cómo actualizo un hash SRI cuando cambia el archivo del CDN?

Un hash SRI verifica una instantánea exacta de un archivo, así que cualquier cambio legítimo lo rompe a propósito. Si una librería lanza una nueva versión, el CDN sirve una compilación con parches o cambias una URL fijada a otra, los bytes difieren y el hash anterior ya no coincidirá, lo que hace que el navegador bloquee el recurso hasta que lo regeneres. La solución es calcular un hash nuevo para el archivo actualizado y sustituir el valor en tu atributo integrity. Para evitar roturas por sorpresa, fija una URL versionada e inmutable en lugar de una ruta «latest» cambiante, de modo que el archivo solo cambie cuando tú apuntes deliberadamente a una nueva versión. Cuando eso ocurra, pega el archivo actualizado o su URL en esta herramienta, genera el nuevo hash y copia la etiqueta de reemplazo directamente en tu HTML.

¿Por qué el modo por lotes/CDN a veces no logra descargar un archivo remoto?

Pegar contenido o subir un archivo se procesa por completo en tu navegador, así que nada sale de tu equipo. El modo por lotes es distinto: para calcular el hash de un recurso remoto, primero tiene que descargar ese archivo, y esa descarga es una solicitud real de origen cruzado sujeta a la política CORS del servidor de origen. Si el CDN o el servidor no devuelve cabeceras CORS permisivas, el navegador bloquea la respuesta, tu código no puede leerla y la descarga falla aunque el archivo exista y la URL sea correcta. Algunos servidores también limitan la frecuencia o rechazan solicitudes automatizadas. Esto es una limitación del servidor remoto, no del propio hash, ya que el mismo archivo pegado directamente se procesa sin problema. Para obtener resultados garantizados, descarga el archivo y usa la pestaña de pegar o subir en su lugar. Prueba aquí las plantillas por lotes para librerías populares, y recurre al modo de pegado cuando una URL esté bloqueada.

Acerca del Generador de Hashes SRI

El Generador de Hashes SRI crea valores de Subresource Integrity para los archivos JavaScript y CSS externos que tus páginas cargan desde un CDN o un servidor de terceros. Pega el contenido del archivo, súbelo directamente o encola una lista de URLs, y la herramienta devuelve el valor de integridad criptográfico junto con una etiqueta <script> o <link> lista para pegar. Está pensada para desarrolladores front-end, propietarios de sitios web e ingenieros de seguridad que cargan librerías como jQuery, Bootstrap o React desde un CDN público y quieren que el navegador rechace cualquier archivo que haya sido alterado por debajo.

El hash se calcula en tu propio navegador con la Web Crypto API. Cuando pegas contenido o subes un archivo, no se envía nada a ningún servidor: no hay cuenta, no hay paso de subida y no se guarda ninguna copia de tu código. El modo por lotes es la única excepción: para calcular el hash de una URL remota, la herramienta tiene que descargar ese archivo, por lo que esas solicitudes sí salen de tu equipo y pueden ser bloqueadas por la política CORS del servidor de origen. Para obtener resultados garantizados, pega o sube el archivo en lugar de usar una URL.

Qué es Subresource Integrity y por qué importa

Subresource Integrity es una función de seguridad del navegador definida por el W3C. Se añade un atributo integrity con un hash en base64 a una etiqueta de script o de hoja de estilos. El navegador descarga el archivo, calcula su hash y lo compara: si los hashes coinciden, el recurso se ejecuta, y si difieren —porque el archivo fue modificado, reemplazado o el CDN fue comprometido—, el navegador lo bloquea por completo.

Esa protección importa porque una sola librería manipulada puede ejecutar código arbitrario en cada página que la incluya. Los ataques a la cadena de suministro contra CDNs y paquetes de npm son una amenaza recurrente, y SRI convierte un compromiso silencioso en un fallo evidente que el navegador se encarga de imponer por ti. Una advertencia: SRI verifica una instantánea fija, así que el hash debe regenerarse cada vez que el archivo cambie de forma legítima (una nueva versión, una compilación con parches), y no puede usarse con scripts en línea cuyo contenido sea dinámico.

Cómo generar un hash

  • Pegar contenido — introduce el JS o CSS en bruto, elige un algoritmo y genera el hash. El contenido pegado se etiqueta como inline-content en el resultado; sustitúyelo por tu src/href real.
  • Subir archivos — arrastra y suelta, o busca uno o varios archivos .js, .css o .mjs. Cada archivo se procesa localmente y se muestra su tamaño en bytes.
  • Modo por lotes / CDN — pega una lista de URLs (una por línea) para descargar y calcular el hash de varios recursos remotos a la vez. La herramienta también incluye plantillas predefinidas para librerías populares como jQuery, Bootstrap, React, Vue, Alpine.js, Axios y Font Awesome, a modo de referencia.

Cada resultado incluye los tres hashes —SHA-256, SHA-384 y SHA-512—, así que puedes copiar cualquiera de ellos, con el que coincide con el algoritmo seleccionado marcado como principal.

Elegir un algoritmo y el atributo crossorigin

  • SHA-384 es la opción predeterminada y recomendada según la especificación del W3C, un equilibrio razonable entre fortaleza y longitud. SHA-256 y SHA-512 son igualmente válidos, y puedes incluir varios hashes en un mismo atributo (integrity="sha384-... sha512-...") para que el navegador use el más fuerte que reconozca.
  • crossorigin="anonymous" es obligatorio. Los recursos de origen cruzado necesitan CORS para poder leerse y verificar su integridad, así que las etiquetas generadas siempre lo incluyen. Sin él, el navegador no puede verificar el hash y el recurso no se carga.
  • Un patrón de respaldo opcional añade un controlador onerror que sustituye el archivo por una copia local si la verificación de integridad bloquea el archivo del CDN, de modo que un recurso manipulado o inaccesible se degrada con elegancia en lugar de romper la página.

Compatibilidad con navegadores

SRI es compatible con todos los navegadores actuales: Chrome 45+, Firefox 43+, Safari 11.1+, Edge 17+ y Opera 32+. Internet Explorer 11 ignora el atributo y carga los recursos sin verificarlos, así que conviene tratar SRI como una capa de seguridad sólida para los visitantes modernos, más que como una garantía universal. Genera tus hashes arriba, copia la etiqueta terminada y pégala directamente en tu HTML.