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 на малки части, вместо с една-единствена голяма операция – детайл, който има значение, когато пакетиран JS файл надвиши приблизително сто хиляди байта, при което наивните подходи за конвертиране могат да достигнат лимита на стека на браузъра.

По подразбиране е избран sha384, тъй като той е алгоритъмът, който най-често се препоръчва в примери и документация за SRI, балансирайки дължина на хеша и устойчивост на колизии, но sha256 и sha512 са на един клик разстояние, ако build pipeline или CDN доставчик изисква различен алгоритъм.