SRI Lenyomat Generátor
Generáljon Subresource Integrity lenyomatot bármely JS vagy CSS fájlhoz, és kapjon egy beillesztésre kész script vagy link címkét.
🔒 Teljesen a böngészőjében dolgozzák fel – soha semmi, amit itt beírt, nem kerül feltöltésre.
Eredmény
A Subresource Integrity (SRI) lehetővé teszi a böngésző számára, hogy ellenőrizze, a CDN-ről vagy harmadik fél által hosztolt kiszolgálóról letöltött script vagy stíluslap nem változott-e, mielőtt futtatná – a böngésző lenyomatozza a letöltött bájtokat, és megtagadja a fájl végrehajtását, ha a lenyomat nem egyezik az Ön által publikált integrity attribútummal. Ez az eszköz kiszámítja ezt a lenyomatot bármely ideejtett JS vagy CSS fájlhoz, teljesen a böngészőlapján belül, így a fájlnak sosem kell elhagynia a gépét a lenyomatozáshoz.
Egy általános lenyomatoló eszköz nem állít elő használható SRI értéket: a specifikáció base64 kódolású lenyomatot ír elő, nem a legtöbb ellenőrző összeg eszköz által kiírt hexadecimális karakterláncot, és csak három algoritmust ismer fel – sha256, sha384 és sha512. Ez a generátor az algoritmusválasztást pontosan erre a háromra korlátozza, és az eredményt a megfelelő módon kódolja, majd egy lépéssel továbbmegy, és köré szerkeszti a teljes HTML címkét, egy helykitöltő src vagy href mezővel, melyet beillesztés előtt helyben szerkeszthet.
A háttérben a fájl a File API-val kerül beolvasásra, a lenyomatozás a natív crypto.subtle.digest() implementációval történik, az eredményül kapott bájtok pedig kis darabokban kerülnek base64-gé alakításra, nem egyetlen nagy spread művelettel – ez a részlet akkor válik fontossá, amikor egy kötegelt JS fájl mérete túllép nagyjából százezer bájton, ahol a naiv konverziós megközelítések elérhetik a böngésző hívási veremkorlátját.
Alapértelmezés szerint a sha384 van kiválasztva, mert ez az algoritmus ajánlott leggyakrabban az SRI példákban és dokumentációkban, egyensúlyt teremtve a lenyomat hossza és az ütközésbiztonság között, de a sha256 és sha512 egy kattintásnyira van, ha az összeállítási folyamat vagy a CDN szolgáltató eltérő követelményt ír elő.