0

SRI Hash Generator

Generera en Subresource Integrity-hash för valfri JS- eller CSS-fil och få ett skript eller länktagg som är redo att klistras in.

🔗

Dra och släpp bild

Fungerar med alla JS- eller CSS-filer - ingenting laddas upp, hashen beräknas lokalt.

Subresursintegritet tillåter endast sha256-, sha384- eller sha512-sammandrag, base64-kodade - det här verktyget begränsar valen i enlighet därmed så att utdata alltid är spec-korrekt.

Buy Me a Coffee at ko-fi.com
Bearbetar... 0%
Läser fil
Computing sammandrag
Kodning till base64
Klart

Resultat

Subresource Integrity (SRI) låter en webbläsare verifiera att ett skript eller en stilmall som hämtats från en CDN eller en tredje parts värd inte har ändrats innan den körs – webbläsaren hashhar de nedladdade byten och vägrar att köra filen om sammanfattningen inte matchar integritetsattributet du publicerade. Det här verktyget beräknar sammanfattningen för alla JS- eller CSS-filer du släpper in, helt på webbläsarfliken, så själva filen behöver aldrig lämna din maskin för att hashas.

Ett generiskt hashverktyg kommer inte att producera ett användbart SRI-värde: specifikationen kräver en base64-kodad sammanfattning, inte den hexadecimala strängen som de flesta kontrollsummeverktyg skriver ut, och den känner bara igen tre algoritmer - sha256, sha384 och sha512. Den här generatorn begränsar valet av algoritm till exakt de tre och kodar resultatet på rätt sätt, och går sedan ett steg längre genom att komponera hela HTML-taggen runt den, med ett platshållare src eller href-fält som du kan redigera på plats innan du kopierar.

Under huven läses filen med File API, hashas med den inbyggda crypto.subtle.digest()-implementationen, och de resulterande byten konverteras till base64 i små bitar snarare än med en enda stor spridningsoperation – en detalj som är viktig när en buntad JS-fil växer förbi ungefär hundra tusen byte, där naiva konverteringsanrop kan träffa en webbläsares limit.

sha384 väljs som standard eftersom det är den algoritm som oftast rekommenderas i SRI-exempel och dokumentation, som balanserar sammandragslängden mot kollisionsmotstånd, men sha256 och sha512 är ett klick bort om en byggpipeline eller CDN-leverantör anger ett annat krav.