Задать вопрос

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

Искал решение на просторах, но не нашлось рабочего варианта, который выдавал бы то же самое, что и https://www.srihash.org/
  • Вопрос задан
  • 364 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 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));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽