SRI Hash Generator
Generer en Subresource Integrity-hash for enhver JS- eller CSS-fil, og få et script eller et link-tag, der er klar til at indsætte.
Resultat
Subresource Integrity (SRI) lader en browser verificere, at et script eller et stylesheet, der er hentet fra en CDN eller en tredjepartsvært, ikke er blevet ændret, før det kører - browseren hasheser de downloadede bytes og nægter at udføre filen, hvis sammendraget ikke matcher den integritetsattribut, du har offentliggjort. Dette værktøj beregner denne digest for enhver JS- eller CSS-fil, du falder i, helt inde i din browserfane, så selve filen behøver aldrig at forlade din maskine for at blive hash.
Et generisk hash-værktøj vil ikke producere en brugbar SRI-værdi: Specifikationen kræver en base64-kodet digest, ikke den hexadecimale streng, som de fleste checksum-værktøjer udskriver, og den genkender kun tre algoritmer - sha256, sha384 og sha512. Denne generator begrænser algoritmevalget til præcis disse tre og koder resultatet på den rigtige måde, og går derefter et skridt videre ved at komponere det fulde HTML-tag omkring det med et pladsholder src eller href-felt, som du kan redigere på plads før kopiering.
Under hætten læses filen med File API, hashes med den native crypto.subtle.digest()-implementering, og de resulterende bytes konverteres til base64 i små bidder i stedet for med en enkelt stor spredningsoperation - en detalje, der betyder noget, når først en bundtet JS-fil vokser forbi omkring hundrede tusinde bytes, hvor naive konverteringstilgange kan ramme en browsergrænse.
sha384 er valgt som standard, fordi det er den algoritme, der oftest anbefales i SRI-eksempler og dokumentation, der afbalancerer fordøjelseslængden mod kollisionsmodstand, men sha256 og sha512 er et klik væk, hvis en byggepipeline eller CDN-udbyder angiver et andet krav.