SRI Hash generátor
Hozzon létre egy alforrás-integritási hash-t bármely JS- vagy CSS-fájlhoz, és szerezzen be egy beilleszthető szkriptet vagy hivatkozási címkét.
Eredmény
Az alforrás integritása (SRI) lehetővé teszi a böngésző számára, hogy ellenőrizze, hogy a CDN-ről vagy harmadik fél gazdagépéről lekért szkript vagy stíluslap nem módosult-e a futás előtt – a böngésző kivonatolja a letöltött bájtokat, és megtagadja a fájl végrehajtását, ha a kivonat nem egyezik az Ön által közzétett integritásattribútummal. Ez az eszköz kiszámítja az összes bedobott JS- vagy CSS-fájl kivonatát, teljes egészében a böngésző lapon belül, így magának a fájlnak soha nem kell elhagynia a gépet a kivonatoláshoz.
Az általános hash-eszköz nem hoz létre használható SRI-értéket: a specifikációhoz base64-kódolású kivonat szükséges, nem pedig a legtöbb ellenőrzőösszeg-eszköz hexadecimális karakterlánca, és csak három algoritmust ismer fel – sha256, sha384 és sha512. Ez a generátor pontosan erre a háromra korlátozza az algoritmus kiválasztását, és a megfelelő módon kódolja az eredményt, majd egy lépéssel tovább megy azzal, hogy köré állítja a teljes HTML címkét, egy helyőrző src vagy href mezővel, amelyet a helyén szerkeszthet másolás előtt.
A burkolat alatt a fájl a File API-val olvasható, a natív crypto.subtle.digest() implementációval kivonatolva történik, és az eredményül kapott bájtokat kis darabokban konvertálják base64-re, nem pedig egyetlen nagy terjedési művelettel – ez a részlet számít, ha egy csomagban lévő JS-fájl nagyjából százezer bájt fölé nő, ahol a böngésző naiv konverziós korlátait is elérheti.
Alapértelmezés szerint az sha384 van kiválasztva, mert ez az SRI-példákban és dokumentációban leggyakrabban javasolt algoritmus, amely egyensúlyba hozza a kivonat hosszát az ütközésállósággal, de az sha256 és sha512 egy kattintásnyira van, ha egy build-folyamat vagy CDN-szolgáltató eltérő követelményt határoz meg.