0

Генератор SRI-хешів

Обчисліть Subresource Integrity хеш для будь-якого JS чи CSS файлу та отримайте готовий до вставки script або link тег.

🔗

Перетягніть зображення

Працює з будь-яким JS чи CSS файлом — нічого не завантажується на сервер, хеш обчислюється локально.

Subresource Integrity дозволяє лише дайджести sha256, sha384 або sha512 у base64 — цей інструмент обмежує вибір саме цими варіантами, тож результат завжди відповідає специфікації.

Buy Me a Coffee at ko-fi.com
Опрацювання... 0%
Читання файлу
Обчислення дайджесту
Кодування у base64
Готово

Результат

Subresource Integrity (SRI) дозволяє браузеру перевірити, що скрипт чи стиль, завантажений з CDN або стороннього хосту, не був змінений перед виконанням — браузер хешує завантажені байти і відмовляється виконувати файл, якщо дайджест не збігається з опублікованим атрибутом integrity. Цей інструмент обчислює такий дайджест для будь-якого JS чи CSS файлу, який ви завантажите, повністю у вашому браузері — сам файл не потрібно нікуди відправляти для хешування.

Звичайний інструмент хешування не дасть придатного значення SRI: специфікація вимагає base64-кодованого дайджесту, а не hex-рядка, який видає більшість чекерів контрольних сум, і визнає лише три алгоритми — sha256, sha384 та sha512. Цей генератор обмежує вибір алгоритму саме цими трьома і кодує результат правильним способом, а потім йде на крок далі, складаючи повний HTML-тег навколо нього, з полем-заповнювачем src або href, яке можна відредагувати перед копіюванням.

Під капотом файл читається через File API, хешується нативною реалізацією crypto.subtle.digest(), а отримані байти конвертуються у base64 невеликими порціями, а не однією великою операцією розгортання масиву — деталь, яка стає важливою, коли зібраний JS-файл переростає приблизно сто тисяч байтів, де наївні підходи до конвертації можуть впертися в обмеження стека виклику браузера.

sha384 обрано за замовчуванням, оскільки це алгоритм, який найчастіше рекомендують у прикладах та документації SRI, балансуючи довжину дайджесту з стійкістю до колізій, але sha256 і sha512 доступні в один клік, якщо ваш білд-пайплайн чи CDN-провайдер вимагає іншого.