0

SRI maišos kodų generatorius

Sugeneruokite Subresource Integrity maišos kodą bet kuriam JS arba CSS failui ir gaukite paruoštą įterpti script arba link fragmentą.

🔒 Visiškai apdorojama jūsų naršyklėje – niekas, kurį čia įvedėte, niekada neįkeliama.

🔗

Vilkite ir paleiskite paveikslėlį

Veikia su bet kokiu JS arba CSS failu – niekas neįkeliama, maišos kodas apskaičiuojamas vietoje.

Subresource Integrity leidžia tik sha256, sha384 arba sha512 maišos kodus, užkoduotus base64 formatu – šis įrankis atitinkamai apriboja pasirinkimus, todėl rezultatas visada atitinka specifikaciją.

Apdorojama... 0%
Skaitoma byla
Skaičiuojamas maišos kodas
Koduojama į base64
Atlikta

Rezultatas

Subresource Integrity (SRI) leidžia naršyklei patikrinti, ar iš CDN arba trečiosios šalies serverio gaunamas scenarijus ar stilių lentelė nebuvo pakeisti prieš juos vykdant – naršyklė apskaičiuoja atsisiųstų baitų maišos kodą ir atsisako vykdyti failą, jei šis kodas neatitinka jūsų paskelbto integrity atributo. Šis įrankis apskaičiuoja tą kodą bet kuriam įmestam JS arba CSS failui, viską atlikdamas jūsų naršyklės kortelėje, todėl pats failas niekada nepalieka jūsų kompiuterio, kad būtų sumaišytas.

Bendros paskirties maišos įrankis nesukurs tinkamos SRI reikšmės: specifikacija reikalauja base64 koduoto maišos kodo, o ne šešioliktainės eilutės, kurią išveda dauguma kontrolinių sumų įrankių, ir pripažįsta tik tris algoritmus – sha256, sha384 ir sha512. Šis generatorius apriboja algoritmo pasirinkimą tik šiais trimis ir užkoduoja rezultatą teisingu būdu, o tada žengia dar vieną žingsnį – suformuoja visą HTML fragmentą su vietos rezervavimo ženklu src arba href lauke, kurį prieš kopijuodami galite redaguoti vietoje.

Po gaubtu failas nuskaitomas naudojant File API, maišomas naudojant įprastą crypto.subtle.digest() realizaciją, o gauti baitai į base64 konvertuojami mažomis dalimis, o ne viena didele išskleidimo operacija – tai detalė, kuri tampa svarbi, kai sujungtas JS failas viršija maždaug šimtą tūkstančių baitų, nes tuomet naivus konvertavimo būdas gali pasiekti naršyklės iškvietimų dėklo ribą.

sha384 pasirinktas pagal numatymą, nes tai algoritmas, dažniausiai rekomenduojamas SRI pavyzdžiuose ir dokumentacijoje, užtikrinantis pusiausvyrą tarp maišos kodo ilgio ir atsparumo kolizijoms, tačiau sha256 ir sha512 yra pasiekiami vienu spustelėjimu, jei kūrimo proceso grandinė ar CDN teikėjas nurodo kitokį reikalavimą.