SRI Hash Generator
Generer en Subresource Integrity-hash for en hvilken som helst JS- eller CSS-fil og få et skript eller lenketag som er klar til å limes inn.
Resultat
Subresource Integrity (SRI) lar en nettleser bekrefte at et skript eller et stilark hentet fra en CDN eller en tredjepartsvert ikke har blitt endret før den kjører – nettleseren hasheser de nedlastede bytene og nekter å kjøre filen hvis sammendraget ikke samsvarer med integritetsattributtet du publiserte. Dette verktøyet beregner sammendraget for enhver JS- eller CSS-fil du slipper inn, helt inne i nettleserfanen, slik at selve filen aldri trenger å forlate maskinen din for å hashes.
Et generisk hashverktøy vil ikke produsere en brukbar SRI-verdi: spesifikasjonen krever en base64-kodet sammendrag, ikke den heksadesimale strengen som de fleste kontrollsumverktøy skriver ut, og den gjenkjenner bare tre algoritmer - sha256, sha384 og sha512. Denne generatoren begrenser algoritmevalget til akkurat de tre og koder resultatet på riktig måte, og går deretter ett skritt videre ved å komponere hele HTML-taggen rundt den, med et plassholder src- eller href-felt du kan redigere på plass før du kopierer.
Under panseret leses filen med File API, hashes med den opprinnelige crypto.subtle.digest()-implementeringen, og de resulterende bytene konverteres til base64 i små biter i stedet for med en enkelt stor spredningsoperasjon – en detalj som betyr noe når en samlet JS-fil vokser forbi omtrent hundre tusen byte, der naive konverteringstilnærminger kan treffe en nettlesergrense.
sha384 er valgt som standard fordi det er den algoritmen som oftest anbefales i SRI-eksempler og dokumentasjon, som balanserer sammendragslengden mot kollisjonsmotstand, men sha256 og sha512 er ett klikk unna hvis en byggerørledning eller CDN-leverandør spesifiserer et annet krav.