0

SRI 哈希生成器

为任何 JS 或 CSS 文件生成子资源完整性哈希,并获取准备粘贴的脚本或链接标记。

🔗

拖放图像

适用于任何 JS 或 CSS 文件 - 不上传任何内容,哈希值在本地计算。

子资源完整性仅允许 sha256、sha384 或 sha512 摘要、base64 编码 - 该工具相应地限制选择,因此输出始终符合规范。

Buy Me a Coffee at ko-fi.com
处理中... 0%
读取文件
计算文摘
编码为base64
完成

结果

子资源完整性 (SRI) 允许浏览器验证从 CDN 或第三方主机获取的脚本或样式表在运行之前未被更改 - 浏览器对下载的字节进行哈希处理,如果摘要与您发布的完整性属性不匹配,则拒绝执行文件。该工具完全在浏览器选项卡内计算您放入的任何 JS 或 CSS 文件的摘要,因此文件本身永远不需要离开您的计算机进行哈希处理。

通用哈希工具不会生成可用的 SRI 值:规范需要 Base64 编码的摘要,而不是大多数校验和工具打印的十六进制字符串,并且它仅识别三种算法 - sha256、sha384 和 sha512。该生成器将算法选择限制为这三个,并以正确的方式对结果进行编码,然后更进一步,在其周围编写完整的 HTML 标签,并使用占位符 src 或 href 字段,您可以在复制之前就地编辑。

在底层,文件是使用 File API 读取的,并使用本机 crypto.subtle.digest() 实现进行哈希处理,并且生成的字节以小块的形式转换为 base64,而不是通过单个大的扩展操作 - 一旦捆绑的 JS 文件增长超过大约十万字节,这个细节就很重要,在这种情况下,简单的转换方法可能会达到浏览器的调用堆栈限制。

默认选择 sha384,因为它是 SRI 示例和文档中最常推荐的算法,可平衡摘要长度和抗冲突性,但如果构建管道或 CDN 提供商指定不同的要求,只需单击一下即可选择 sha256 和 sha512。