SRI хеш генератор
Генерирайте хеш за целостта на подресурса за всеки JS или CSS файл и получете готов за поставяне скрипт или етикет за връзка.
Резултат
Subresource Integrity (SRI) позволява на браузъра да провери дали скрипт или таблица със стилове, извлечени от CDN или хост на трета страна, не са били променени преди да се изпълни – браузърът хешира изтеглените байтове и отказва да изпълни файла, ако дайджестът не съответства на атрибута за интегритет, който сте публикували. Този инструмент изчислява това обобщение за всеки JS или CSS файл, който пуснете, изцяло в раздела на браузъра си, така че самият файл никога не трябва да напуска вашата машина, за да бъде хеширан.
Общият инструмент за хеширане няма да произведе използваема стойност на SRI: спецификацията изисква обобщение, кодирано с base64, а не шестнадесетичния низ, който повечето инструменти за контролна сума отпечатват, и разпознава само три алгоритъма — sha256, sha384 и sha512. Този генератор ограничава избора на алгоритъма точно до тези три и кодира резултата по правилния начин, след което отива една стъпка напред, като композира пълния HTML таг около него, със запазено поле src или href, което можете да редактирате на място, преди да копирате.
Под капака файлът се чете с File API, хешира се с естествената реализация на crypto.subtle.digest() и получените байтове се преобразуват в base64 на малки парчета, а не с една единствена голяма операция за разпространение – детайл, който има значение, след като пакетен JS файл надхвърли приблизително сто хиляди байта, където наивните подходи за преобразуване могат да достигнат лимита на стека за извикване на браузъра.
sha384 е избран по подразбиране, тъй като това е алгоритъмът, който най-често се препоръчва в примерите и документацията на SRI, като балансира дължината на дайджеста срещу устойчивостта на сблъсък, но sha256 и sha512 са на едно щракване разстояние, ако конвейер за изграждане или доставчик на CDN посочи различно изискване.