0

Generatore di hash SRI

Genera un hash di integrità della risorsa secondaria per qualsiasi file JS o CSS e ottieni uno script o un tag di collegamento pronto da incollare.

🔗

Trascina e rilascia l'immagine

Funziona con qualsiasi file JS o CSS: non viene caricato nulla, l'hash viene calcolato localmente.

Subresource Integrity consente solo digest sha256, sha384 o sha512, codificati base64: questo strumento limita le scelte di conseguenza in modo che l'output sia sempre corretto nelle specifiche.

Buy Me a Coffee at ko-fi.com
Elaborazione... 0%
Lettura del file
Digest informatico
Codifica in base64
Fatto

Risultato

Subresource Integrity (SRI) consente a un browser di verificare che uno script o un foglio di stile recuperato da un CDN o da un host di terze parti non sia stato modificato prima dell'esecuzione: il browser esegue l'hashing dei byte scaricati e si rifiuta di eseguire il file se il digest non corrisponde all'attributo di integrità pubblicato. Questo strumento calcola il digest per qualsiasi file JS o CSS inserito, interamente all'interno della scheda del browser, in modo che il file stesso non debba mai lasciare il computer per essere sottoposto ad hashing.

Uno strumento di hash generico non produrrà un valore SRI utilizzabile: la specifica richiede un digest con codifica base64, non la stringa esadecimale stampata dalla maggior parte degli strumenti di checksum, e riconosce solo tre algoritmi: sha256, sha384 e sha512. Questo generatore limita la scelta dell'algoritmo esattamente a questi tre e codifica il risultato nel modo corretto, quindi fa un ulteriore passo avanti componendo il tag HTML completo attorno ad esso, con un campo segnaposto src o href che puoi modificare sul posto prima di copiare.

Sotto il cofano il file viene letto con la File API, sottoposto ad hashing con l'implementazione nativa crypto.subtle.digest(), e i byte risultanti vengono convertiti in base64 in piccoli blocchi anziché con un'unica grande operazione di diffusione: un dettaglio che conta quando un file JS in bundle supera circa centomila byte, dove approcci di conversione ingenui possono raggiungere il limite dello stack di chiamate di un browser.

sha384 è selezionato per impostazione predefinita perché è l'algoritmo più comunemente consigliato negli esempi e nella documentazione SRI, bilanciando la lunghezza del digest con la resistenza alle collisioni, ma sha256 e sha512 sono a un clic di distanza se una pipeline di build o un provider CDN specifica un requisito diverso.