SRI Hash 生成器:子资源完整性保护
这款 SRI Hash 生成器会生成 integrity 哈希,供浏览器验证从 CDN 加载的脚本或样式表是否被篡改。只需粘贴文件内容、选择算法,即可复制一段可直接粘贴的 <script> 或 <link> 标签。
它专为从第三方 CDN 引入库、又想加一道子资源完整性(SRI)防线的前端与 Web 开发者打造。加上 integrity 属性后,一旦资源哈希不匹配,浏览器就会拦截它——堵住一种常见的供应链攻击。
如何生成 SRI 哈希
粘贴文件内容
把要保护的 JavaScript 或 CSS 文件的完整内容复制到内容框中。在你输入或粘贴时,哈希会自动生成。
选择算法
选择 SHA-256、SHA-384 或 SHA-512。默认选中 SHA-384,它也是 SRI 的推荐算法。
设置标签类型和 URL
把标签类型设为 script 或 link。可选填一个资源 URL——填入 .js 或 .css 链接时,会自动识别对应的标签类型。
复制输出
可单独复制 Integrity 哈希,也可复制已带好 integrity 和 crossorigin 属性的完整 HTML 标签,再粘贴到你的页面中。
功能特点
多种哈希算法
支持用 SHA-256、SHA-384 或 SHA-512 生成 SRI 哈希。默认使用 SHA-384,也是 W3C SRI 规范推荐的算法。
自动识别标签类型
输入资源 URL,工具会为 .js 文件选 script、为 .css 文件选 link——也可随时手动切换标签类型。
可直接使用的 HTML 标签
输出已带好 integrity 和 crossorigin="anonymous" 属性的完整标签,可直接粘贴进你的 HTML。
可选填资源 URL
填入资源的 CDN URL,它会被放进生成标签的 src 或 href 中,输出即可原样使用。
一键复制
一键即可复制 integrity 哈希值或完整的 HTML 标签,每次都会有快速的屏幕提示确认。
本地处理
所有哈希都通过 Web Crypto API 在你的浏览器中运行。文件内容绝不会发送到服务器,完全私密。
常见问题
什么是子资源完整性(SRI)?
SRI 是一项浏览器安全特性,用于验证从外部来源(如 CDN)加载的文件是否被改动过。你为 <script> 或 <link> 标签添加一个 integrity 属性,里面保存文件应有的哈希;浏览器会把它与下载到的文件比对,不匹配就拦截该资源。
如何生成 SRI 哈希?
把 JavaScript 或 CSS 文件的完整内容粘贴到内容框中。工具会用你选择的算法即时计算哈希,同时给出原始的 integrity 哈希和一段可复制的完整 HTML 标签。
该选哪种哈希:SHA-256、SHA-384 还是 SHA-512?
SHA-384 是 W3C 推荐、也是 SRI 中使用最广的算法,在安全性和性能之间取得了很好的平衡。每款现代浏览器同样支持 SHA-256 和 SHA-512,按你项目的要求选用即可。
需要 crossorigin 属性吗?
需要。要让 SRI 对来自不同源(如 CDN)的资源生效,crossorigin="anonymous" 是必需的。没有它,浏览器无法验证跨域资源的完整性——这也是生成的标签里会替你带上它的原因。
为什么我的 integrity 校验失败?
最常见的原因是服务器实际提供的文件与你用来计算哈希的内容不同——哪怕只改了一个字节,哈希也会不一样,所以请按 CDN 上的实际文件重新生成。缺少 crossorigin 属性,或 CDN 没有返回 Access-Control-Allow-Origin 响应头,同样会导致校验失败。大多数主流 CDN(jsDelivr、cdnjs、unpkg)都已支持 CORS。
能给 CDN 脚本加上 SRI 吗?
能——这正是它最主要的用途。根据 CDN 文件的内容生成哈希,填入资源 URL,再复制现成的标签即可。SRI 规范还允许在同一个标签里用空格分隔多个哈希(例如 sha256-… sha384-…);本工具一次生成一个哈希,如需备用方案,你可以手动把它们组合起来。
还没有评论,快来发表第一条!