0

Générateur d’empreinte SRI

Générez une empreinte Subresource Integrity pour n’importe quel fichier JS ou CSS et obtenez une balise script ou link prête à copier-coller.

🔒 Entièrement traité dans votre navigateur — rien de ce que vous saisissez ici n'est jamais téléchargé.

🔗

Glissez-déposez une image

Fonctionne avec tout fichier JS ou CSS — rien n’est téléversé, l’empreinte est calculée localement.

Subresource Integrity n’accepte que les empreintes sha256, sha384 ou sha512 encodées en base64. Cet outil limite les choix en conséquence afin que le résultat soit toujours conforme à la spécification.

Traitement en cours... 0%
Lecture du fichier
Calcul de l’empreinte
Encodage en base64
Terminé

Résultat

Subresource Integrity (SRI) permet à un navigateur de vérifier qu’un script ou une feuille de style récupéré depuis un CDN ou un hébergeur tiers n’a pas été altéré avant son exécution. Le navigateur calcule l’empreinte des octets téléchargés et refuse d’exécuter le fichier si l’empreinte ne correspond pas à l’attribut integrity que vous avez publiée. Cet outil calcule cette empreinte pour tout fichier JS ou CSS que vous déposez, entièrement dans votre onglet navigateur : le fichier n’a jamais besoin de quitter votre machine pour être haché.

Un outil de hachage générique ne produit pas une valeur SRI utilisable : la spécification exige une empreinte encodée en base64, et non la chaîne hexadécimale affichée par la plupart des outils de somme de contrôle. Elle ne reconnaît que trois algorithmes : sha256, sha384 et sha512. Ce générateur limite le choix de l’algorithme à ces trois exactement et encode le résultat de la bonne manière, puis va plus loin en composant autour la balise HTML complète, avec un champ src ou href que vous pouvez modifier sur place avant de copier.

Sous le capot, le fichier est lu via l’API File, haché avec l’implémentation native crypto.subtle.digest(), et les octets résultants sont convertis en base64 par petits blocs plutôt qu’avec une seule grande opération de décomposition. Ce détail compte lorsqu’un bundle JS dépasse environ cent mille octets, taille à laquelle les approches naïves de conversion peuvent saturer la pile d’appels du navigateur.

L’algorithme sha384 est sélectionné par défaut car c’est celui le plus souvent recommandé dans les exemples et la documentation SRI, offrant un bon équilibre entre longueur de l’empreinte et résistance aux collisions. Les algorithmes sha256 et sha512 sont accessibles en un clic si votre chaîne de build ou votre fournisseur de CDN impose une exigence différente.