Aller au contenu
Tout en local

Générateur d'intégrité de subressource

Calcule le hash SRI du contenu collé et génère la balise script ou link correspondante.

Contenu du fichier
Sortie

Générateur d'intégrité de subressource

Collez le contenu exact d'un script ou d'une feuille de styles et cet outil calcule son hash Subresource Integrity (SRI), puis assemble une balise <script> ou <link> prête à l'emploi. SRI permet à un navigateur de vérifier qu'un fichier chargé depuis une CDN ou un autre domaine n'a pas été altéré ; le navigateur refuse de l'exécuter si les octets récupérés ne correspondent pas au hash que vous fournissez.

Choisissez SHA-256, SHA-384 ou SHA-512, ou cochez plusieurs cases pour produire une valeur d'intégrité combinée listant plusieurs algorithmes à la fois ; le navigateur choisit le plus fort qu'il supporte. Sélectionnez le type de balise (script ou link), remplissez l'URL source et définissez la valeur crossorigin attendue par votre CDN (anonymous est correct pour presque toutes les CDN publiques). Pour une balise script vous pouvez aussi ajouter defer ou async. Passez le résultat à "valeur d'intégrité uniquement" quand vous avez juste besoin de la valeur d'attribut à coller dans du markup que vous avez déjà.

Le hash est calculé sur les octets exactes que vous collez, y compris les fins de ligne avec lesquelles le fichier a été sauvegardé ; un navigateur vérifie les octets réels d'une ressource, donc les normaliser ici produirait un hash qui ne correspond plus au fichier réel. Les fichiers très volumineux sont supportés jusqu'à la limite habituelle de l'outil.

Tout se passe localement dans votre navigateur : le contenu que vous collez n'est jamais envoyé nulle part, ce qui importe car c'est souvent le code source exact d'un script que vous allez publier. Copiez le résultat, téléchargez-le en tant que fichier .txt, ou effacez les champs et recommencez.

FAQ

Qu'est-ce que l'Intégrité de Subressource (SRI) ?
SRI est une fonctionnalité de sécurité du navigateur. Vous donnez à une balise <script> ou <link> un attribut integrity contenant un hash du fichier attendu ; si le fichier que le navigateur récupère ne correspond pas, il refuse de l'exécuter.
Quel algorithme dois-je choisir ?
SHA-384 est le défaut le plus courant et ce que la plupart des CDN génèrent par défaut. SHA-256 est plus court et toujours sécurisé ; SHA-512 est le plus fort mais produit la valeur la plus longue. Sélectionner plus d'un permet au navigateur de choisir le plus fort qu'il supporte.
À quoi sert crossorigin ici ?
Il est requis aux côtés de l'intégrité pour une ressource interdomaine, car le navigateur doit faire une requête CORS pour vérifier la réponse avant de l'exécuter. "anonymous" est correct pour les fichiers CDN publics qui n'ont pas besoin de cookies.
Pourquoi le hash ne change pas si je corrige juste une faute de frappe dans l'URL ?
La valeur d'intégrité ne dépend que du contenu du fichier que vous avez collé, jamais de l'URL ; l'URL est juste l'endroit où la balise dit au navigateur de chercher le fichier.
Le contenu du fichier que je colle est-il chargé quelque part ?
Non. Le hash est calculé entièrement dans votre navigateur à l'aide de l'API Web Crypto ; le contenu ne quitte jamais votre appareil.