Генератор SRI-хешів
Згенеруйте хеш Subresource Integrity для будь-якого JS або CSS файлу та отримайте готовий до вставки тег script або link.
🔒 Обробляється повністю у вашому браузері — те, що ви тут вводите, ніколи не вивантажується.
Результат
Subresource Integrity (SRI) дозволяє браузеру перевірити, що скрипт або таблиця стилів, отримані з CDN чи стороннього хоста, не були змінені перед виконанням — браузер хешує завантажені байти і відмовляється виконувати файл, якщо дайджест не збігається з атрибутом integrity, який ви опублікували. Цей інструмент обчислює такий дайджест для будь-якого JS або CSS файлу, який ви сюди скинете, повністю у вкладці вашого браузера, тому сам файл ніколи не залишає вашого комп’ютера для хешування.
Звичайний інструмент хешування не дасть придатного значення для SRI: специфікація вимагає дайджест у кодуванні Base64, а не шістнадцятковий рядок, який видає більшість утиліт контрольної суми, і розпізнає лише три алгоритми — sha256, sha384 та sha512. Цей генератор обмежує вибір алгоритму саме цими трьома та кодує результат правильним чином, а потім робить ще один крок — формує навколо нього повний HTML-тег із заповнювачем src або href, який ви можете відредагувати на місці перед копіюванням.
Під капотом файл читається через File API, хешується за допомогою вбудованої реалізації crypto.subtle.digest(), а отримані байти перетворюються на base64 невеликими блоками, а не однією великою операцією spread — деталь, яка має значення, коли бандл JS-файлу перевищує приблизно сто тисяч байтів, адже наївні підходи до перетворення можуть впертися в ліміт стеку викликів браузера.
sha384 вибрано за замовчуванням, оскільки це алгоритм, який найчастіше рекомендують у прикладах і документації SRI, збалансовуючи довжину дайджесту та стійкість до колізій, але sha256 і sha512 доступні в один клік, якщо ваш пайплайн збірки чи CDN-провайдер вимагають іншого.