Как вычислить SRI integrity для JS-файла на PHP?

Искал решение на просторах, но не нашлось рабочего варианта, который выдавал бы то же самое, что и https://www.srihash.org/
  • Вопрос задан
  • 343 просмотра
Решения вопроса 2
DevMan
@DevMan
можно еще так:
echo 'sha384-' . base64_encode(hash_file('sha384', 'path-to-file', true));
// или
echo 'sha384-' . base64_encode(hash('sha384', file_get_contents('path-to-file'), true));
Ответ написан
NikitaTratorov
@NikitaTratorov Автор вопроса
CTO
Чтобы получить на выходе правильных хеш, ниже рабочий код:
<script type="text/javascript" 
src="https://site.com/file.js" 
integrity="sha384-<?php echo base64_encode(openssl_digest(file_get_contents('/assets/file.js'), 'sha384', true)); ?>" 
crossorigin="anonymous"></script>


Хитрость оказалась в использовании параметра raw_output = true для функции openssl_digest
echo base64_encode(openssl_digest(file_get_contents('/assets/file.js'), 'sha384', true));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы