0

SRI хеш генератор

Генерирайте хеш за целостта на подресурса за всеки JS или CSS файл и получете готов за поставяне скрипт или етикет за връзка.

🔗

Плъзнете и пуснете изображението

Работи с всеки JS или CSS файл — нищо не се качва, хешът се изчислява локално.

Subresource Integrity позволява само sha256, sha384 или sha512 дайджести, кодирани с base64 — този инструмент съответно ограничава избора, така че изходът винаги да е правилен спрямо спецификациите.

Buy Me a Coffee at ko-fi.com
Обработка... 0%
Файл за четене
Компютърен сборник
Кодиране към base64
Готово

Резултат

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 посочи различно изискване.