我试图在我们的构建过程中实现子资源完整性,所以我自己为我们的 javascript 文件生成哈希键。在我们的大多数文件中,我生成的哈希值与浏览器的期望值和 srihash.org 输出的值相匹配。但是,对于 jquery 和 jquery-ui,我生成的哈希值与浏览器预期的哈希值不同,并且 srihash.org 正在输出。这是我的哈希码:
private static string GetSriHash(string text) {
var enc = Encoding.UTF8;
var result = new SHA384Managed().ComputeHash(enc.GetBytes(text));
return Convert.ToBase64String(result);
}
其中“文本”是文件的内容。我认为这是某种编码问题,但我尝试了编码中的每个选项,但没有一个匹配。我尝试从文件系统中读取文件并使用 WebClient.DownloadString 从服务器获取它,并且每次都得到相同的(不正确的)哈希。