Hash de integridad de subrecursos
Subresource Integrity Hash
Calcula el atributo Subresource Integrity (sha256, sha384 o sha512) de un script o una hoja de estilos que pegues o sueltes en la página.
Un `<script src>` que apunta a un CDN es un permiso permanente para que ese CDN ejecute el código que quiera en los navegadores de tus usuarios. Un atributo Subresource Integrity lo revoca: el navegador se niega a ejecutar un archivo cuyo hash no coincide con el que fijaste.
Suelta el archivo exacto
El script o la hoja de estilos que vas a servir. Se calcula el hash tal cual.
Se calcula con WebCrypto en tu navegador: es el mismo resumen que el navegador comprobará después. No hay campo de URL a propósito, porque traer un archivo remoto desde esta página para calcular su hash acabaría bloqueado por CORS o convertido en un vector de SSRF, y un navegador no puede resolver y luego fijar un host como sí hace un servidor. Pon aquí el archivo que vas a servir.
Cómo se usa
Dale el archivo o la URL
Suelta el archivo exacto que vas a publicar, o descarga una URL. El hash es sobre los bytes, así que un archivo y una URL que difieren en un salto de línea dan atributos distintos.
Copia el atributo entero
La salida es `integrity="sha384-…"`. Pégalo en la etiqueta junto con `crossorigin="anonymous"`: sin eso, un recurso de otro origen es opaco y la integridad no se puede comprobar.
Fija una versión, no una etiqueta móvil
Un atributo integrity contra una URL `@latest` rompe el sitio el día que el CDN publica. Apunta a una versión exacta y actualiza las dos cosas juntas.
Preguntas frecuentes
¿Qué algoritmo debería usar?
sha384 es la elección habitual y lo que publica la mayoría de los CDN. sha256 se acepta y sha512 es más fuerte, pero la diferencia no es el punto débil de este diseño: fijar la versión equivocada sí lo es.
El script dejó de cargar después de añadirlo.
Casi siempre es una de tres cosas: el archivo cambió en el CDN, falta `crossorigin="anonymous"`, o el hash se tomó de una compilación distinta de la que se sirve (un archivo minificado frente a uno sin minificar, por ejemplo).
¿SRI protege contra un script comprometido que siempre fue hostil?
No. Te garantiza que recibes los bytes que fijaste, nada más. Si la versión que fijaste ya tenía una puerta trasera, SRI entrega fielmente esa puerta trasera cada vez.
Puede recibir de
Suma de verificación de un archivo
File Checksum
Calcula el hash de archivos de cualquier tamaño en una pasada por flujo y lo compara con el valor esperado que pegues.
Constructor de políticas CSP
CSP Builder
Arma una cabecera Content-Security-Policy desde un formulario guiado o desde un informe de violaciones, y explica cada directiva.
Generador de contraseñas
Password Generator
Genera contraseñas aleatorias con las reglas de longitud, conjunto de caracteres y exclusión de caracteres ambiguos que elijas, y por lotes si hace falta.
Generador de frases de contraseña
Passphrase Generator
Construye una frase de contraseña al estilo diceware a partir de una lista de palabras, mostrando la entropía en bits.
Después
Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.
Constructor de políticas CSP
CSP Builder
Arma una cabecera Content-Security-Policy desde un formulario guiado o desde un informe de violaciones, y explica cada directiva.
Suma de verificación de un archivo
File Checksum
Calcula el hash de archivos de cualquier tamaño en una pasada por flujo y lo compara con el valor esperado que pegues.
Análisis de cabeceras de seguridad
Security Header Scan
Califica las cabeceras HSTS, CSP, de marcos, de referente y de permisos de un sitio y muestra cuáles faltan.
Comprobar un enlace sospechoso
Suspicious URL Check
Examina la forma de un enlace antes de que lo abras —caracteres que imitan a otros, IP en lugar de dominio, trucos con @, subdominios profundos, puertos raros, acortadores— y, si lo pides, sigue sus redirecciones y consulta cuándo se registró el dominio; no consulta ninguna base de reputación.
Codificador y decodificador Base64
Base64 Encoder & Decoder
Codifica y decodifica Base64 y Base64URL, para texto o archivos, tratando UTF-8 correctamente.
Comprobar si una contraseña fue filtrada
Breach Check
Comprueba si una contraseña aparece en los datos de filtraciones de Have I Been Pwned enviando solo los cinco primeros caracteres de su hash SHA-1 desde el navegador, por k-anonimato.