Generátor hash SRI
Vygenerujte hash integrity subresource pre akýkoľvek súbor JS alebo CSS a získajte skript alebo značku odkazu pripravený na vloženie.
Výsledok
Integrita subresource (SRI) umožňuje prehliadaču overiť, či skript alebo šablóna so štýlmi získaná z CDN alebo hostiteľa tretej strany nebola pred spustením zmenená – prehliadač zahašuje stiahnuté bajty a odmietne spustiť súbor, ak sa súhrn nezhoduje s atribútom integrity, ktorý ste zverejnili. Tento nástroj počíta súhrn pre akýkoľvek súbor JS alebo CSS, ktorý vložíte, úplne na karte vášho prehliadača, takže samotný súbor nikdy nemusí opustiť váš počítač, aby bol hašovaný.
Všeobecný hašovací nástroj nevytvorí použiteľnú hodnotu SRI: špecifikácia vyžaduje súhrn v kódovaní base64, nie hexadecimálny reťazec, ktorý väčšina nástrojov kontrolného súčtu tlačí, a rozpoznáva iba tri algoritmy — sha256, sha384 a sha512. Tento generátor obmedzí výber algoritmu presne na tieto tri a zakóduje výsledok správnym spôsobom, potom ide o krok ďalej tým, že okolo neho vytvorí úplnú značku HTML so zástupným poľom src alebo href, ktoré môžete pred kopírovaním upraviť.
Pod kapotou sa súbor načíta pomocou File API, zahašuje sa pomocou natívnej implementácie crypto.subtle.digest() a výsledné bajty sa prevedú na base64 v malých kúskoch a nie pomocou jednej veľkej operácie rozšírenia – čo je detail, na ktorom záleží, keď zbalený súbor JS presiahne zhruba stotisíc bajtov, kde naivné prístupy k prevodu môžu naraziť na limit zásobníka hovorov prehliadača.
sha384 je predvolene vybratý, pretože je to algoritmus, ktorý sa najčastejšie odporúča v príkladoch a dokumentácii SRI, pričom vyvažuje dĺžku súhrnu s odolnosťou voči kolízii, ale sha256 a sha512 sú vzdialené jedným kliknutím, ak poskytovateľ zostavovania alebo CDN špecifikuje inú požiadavku.