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