Задача
Я пытаюсь выяснить, как создать хэш в ASP.NET Core 2.1, который равен строке хеша в атрибуте integrity
элемента 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:
Ожидаемый: q8i / X + 965DzO0rT7abK41JStQIAqVgRVzpbzo5smX ···
Фактический: w4 / 2hcGpax1pNE5nZ3cR0 * * 10 * * 10 * 10Вопрос
Что именно мне нужно для хэширования?Как получить правильную строку хеша, чтобы я мог сравнить ее с той, которая используется в HTML?Заранее спасибо:)