4

我试图在我们的构建过程中实现子资源完整性,所以我自己为我们的 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 从服务器获取它,并且每次都得到相同的(不正确的)哈希。

4

1 回答 1

4

我找到了解决方案...如果我更改代码以使用 File.ReadAllBytes() 或 WebClient.DownloadData() 获取文件,它可以正常工作。

于 2016-07-13T19:11:37.007 回答