0

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.

🔗

Pretiahnite obrázok

Funguje s akýmkoľvek súborom JS alebo CSS – nič sa neodovzdáva, hash sa vypočítava lokálne.

Integrita subresource povoľuje iba súhrny sha256, sha384 alebo sha512, kódované base64 – tento nástroj zodpovedajúcim spôsobom obmedzuje výber, takže výstup je vždy správny.

Buy Me a Coffee at ko-fi.com
Spracovanie... 0%
Čítanie súboru
Výpočtový súhrn
Kódovanie do base64
Hotovo

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.