Generator povzetkov SRI
Izračunajte povzetek Subresource Integrity za katero koli datoteko JS ali CSS in dobite oznako script ali link, pripravljeno za takojšnje lepljenje.
🔒 V celoti obdelano v vašem brskalniku – nič, kar tukaj vnesete, ni nikoli naloženo.
Rezultat
Subresource Integrity (SRI) omogoča brskalniku, da pred izvajanjem preveri, ali skripta ali slogovna predloga, ki jo pridobi iz omrežja CDN ali tretjega gostitelja, ni bila spremenjena – brskalnik povzame prenesene bajte in zavrne izvedbo datoteke, če se povzetek ne ujema z atributom integrity, ki ste ga objavili. To orodje izračuna ta povzetek za katero koli datoteko JS ali CSS, ki jo odložite, in to v celoti znotraj zavihka vašega brskalnika, tako da datoteki za povzemanje ni treba nikoli zapustiti vašega računalnika.
Splošno orodje za povzetke ne bo ustvarilo uporabne vrednosti SRI: specifikacija zahteva base64-kodiran povzetek, ne šestnajstiškega niza, ki ga izpiše večina orodij za preverjanje vsot, in priznava samo tri algoritme – sha256, sha384 in sha512. Ta generator omeji izbiro algoritma točno na te tri in rezultat kodira na pravilen način, nato pa gre še korak dlje in okoli njega sestavi celotno oznako HTML, s poljem za vnos src ali href, ki ga lahko pred kopiranjem uredite.
V ozadju se datoteka prebere s spletno vmesnikom File API, povzame z vgrajeno implementacijo crypto.subtle.digest(), nastali bajti pa se pretvorijo v base64 po manjših delih, namesto z enim samim velikim razpršitvenim ukazom – podrobnost, ki postane pomembna, ko povezana datoteka JS preseže približno sto tisoč bajtov, saj lahko naivni načini pretvorbe naletijo na omejitev sklada klicev brskalnika.
Algoritem sha384 je privzeto izbran, ker je najpogosteje priporočen v primerih in dokumentaciji SRI ter uravnoteži dolžino povzetka z odpornostjo proti trkom; sha256 in sha512 pa sta na voljo z enim klikom, če gradbeni cevovod ali ponudnik CDN zahteva kaj drugega.