0

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

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

🔒 Обробляється повністю у вашому браузері — те, що ви тут вводите, ніколи не вивантажується.

🔗

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

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

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

Обробка... 0%
Читання файлу
Обчислення дайджесту
Кодування в base64
Готово

Результат

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-провайдер вимагають іншого.