SRI Hash Generator
Ustvarite zgoščeno vrednost Subresource Integrity za katero koli datoteko JS ali CSS in pridobite skript ali oznako povezave, pripravljeno za lepljenje.
Rezultat
Subresource Integrity (SRI) omogoča brskalniku, da preveri, ali skript ali slogovna tabela, pridobljena iz CDN ali gostitelja tretje osebe, ni bila spremenjena, preden se zažene – brskalnik zgosti prenesene bajte in noče izvesti datoteke, če se izvleček ne ujema z atributom celovitosti, ki ste ga objavili. To orodje izračuna ta izvleček za katero koli datoteko JS ali CSS, ki jo vnesete, v celoti znotraj zavihka brskalnika, tako da sami datoteki nikoli ni treba zapustiti vašega računalnika, da bi jo zgostili.
Generično orodje za zgoščevanje ne bo ustvarilo uporabne vrednosti SRI: specifikacija zahteva izvleček, kodiran z base64, ne šestnajstiškega niza, ki ga natisne večina orodij za kontrolne vsote, in prepozna samo tri algoritme — sha256, sha384 in sha512. Ta generator omeji izbiro algoritma na natanko te tri in kodira rezultat na pravilen način, nato pa gre še korak dlje, tako da okoli njega sestavi celotno oznako HTML, z nadomestnim poljem src ali href, ki ga lahko uredite na mestu pred kopiranjem.
Pod pokrovom se datoteka prebere z API-jem za datoteke, zgoščena z izvorno implementacijo crypto.subtle.digest(), nastali bajti pa se pretvorijo v base64 v majhnih kosih namesto z eno samo operacijo velikega širjenja – podrobnost, ki je pomembna, ko datoteka JS v svežnju zraste čez približno sto tisoč bajtov, kjer lahko naivni pristopi pretvorbe dosežejo omejitev sklada klicev v brskalniku.
sha384 je privzeto izbran, ker je to algoritem, ki se najpogosteje priporoča v primerih in dokumentaciji SRI, ki uravnoteži dolžino povzetka in odpornost proti trkom, vendar sta sha256 in sha512 oddaljena en klik, če cevovod gradnje ali ponudnik CDN določi drugačne zahteve.