0

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.

🔗

Træk og slip billede

Fungerer med enhver JS- eller CSS-fil - intet uploades, hashen beregnes lokalt.

Subresource Integrity tillader kun sha256, sha384 eller sha512 digests, base64-kodet - dette værktøj begrænser valgene i overensstemmelse hermed, så outputtet altid er spec-korrekt.

Buy Me a Coffee at ko-fi.com
Behandler... 0%
Læser fil
Computing digest
Kodning til base64
Færdig

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.