integrity
attribute
html的
<script>
元素:
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
代码
[Fact(DisplayName = "jQuery integrity")]
public async Task jQuery()
{
var result = await this.Client.GetAsync("https://code.jquery.com/jquery-3.3.1.slim.min.js");
byte[] content = Encoding.UTF8.GetBytes(await result.Content.ReadAsStringAsync());
byte[] hash = SHA384.Create().ComputeHash(content);
Assert.Equal(
expected: "q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo",
actual: Convert.ToBase64String(hash));
}
但是Assert.Equals失败了:
问题
我到底要做什么?如何检索正确的哈希字符串,以便将其与HTML中使用的哈希字符串进行比较?提前感谢:)
附言:如果你问自己为什么我要完成这个:只是出于好奇。我主要是想检查CDN是否存在,这样如果CDN不可用,我的构建过程就会自动抛出一个错误。是的,我使用
<脚本>