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 на дохват једног клика ако build pipeline или CDN провајдер захтева другачије.