如何获取aspnetcdn.com的SRI哈希及新版本jQuery/Bootstrap的integrity值?
如何获取ASP.NET CDN上jQuery和Bootstrap的SRI哈希及新版本integrity值
嘿,我刚好在ASP.NET Core项目里处理过jQuery和Bootstrap的版本升级,关于SRI哈希的获取和新版本的integrity值,给你分享几个实用的方法:
一、获取ASP.NET CDN资源的SRI哈希
SRI(子资源完整性)哈希是用来验证CDN资源是否被篡改的,你可以通过以下几种方式获取:
- 在线SRI生成工具:找一个可靠的SRI生成工具(无需跳转外部,选择本地工具或安全的在线工具即可),把ASP.NET CDN上对应资源的URL粘贴进去,工具会自动计算出
integrity属性值,同时会给出crossorigin="anonymous"的建议配置。 - 本地命令行生成:如果你习惯用命令行,可以用OpenSSL工具直接计算:
- 以获取jQuery的哈希为例,先拉取在线资源内容并计算:
curl -s https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.7.1.min.js | openssl dgst -sha384 -binary | openssl base64 -A - 得到的字符串就是
integrity属性里sha384-后面的部分,组合起来就是完整的integrity="sha384-xxx..."格式。
- 以获取jQuery的哈希为例,先拉取在线资源内容并计算:
- 查看ASP.NET CDN官方代码片段:微软的ASP.NET CDN页面通常会提供带有SRI属性的最新资源引用代码,你可以直接复制这些代码到
_Layout.cshtml里,省去自己计算的麻烦。
二、常见新版本的jQuery和Bootstrap integrity值
给你整理几个当前稳定版本的属性值(注意:版本更新后请重新验证哈希,避免资源加载失败):
jQuery 3.7.1(压缩版)
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.7.1.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
Bootstrap 5.3.2(压缩版CSS)
<link href="https://ajax.aspnetcdn.com/ajax/bootstrap/5.3.2/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
Bootstrap 5.3.2(压缩版JS,包含Popper)
<script src="https://ajax.aspnetcdn.com/ajax/bootstrap/5.3.2/js/bootstrap.bundle.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
注意事项
每次升级版本后,一定要重新确认integrity值——因为版本变化会导致资源内容改变,旧的哈希会触发浏览器的安全校验,拒绝加载资源。
内容的提问来源于stack exchange,提问作者user2328625
相关产品推荐
相关产品推荐

