Générateur de hash SRI gratuit

Générez des hashes Subresource Integrity pour les scripts externes. Gratuit, rapide et fonctionnant entièrement dans votre navigateur, sans inscription.

Mis à jour le

Share:
Home/Security Tools/SRI Generator

SRI Generator

Generate Subresource Integrity (SRI) hashes for scripts and stylesheets to protect against CDN compromises and supply-chain attacks.

SRI Hash Generator

Drag & drop JS/CSS files or click to browse

Questions Fréquentes

Qu'est-ce que le générateur de hachages SRI ?

Le générateur de hachages SRI est un outil en ligne gratuit qui crée des hachages Subresource Integrity pour les scripts et feuilles de style externes afin de se protéger contre la compromission d'un CDN.

Le générateur de hachages SRI est-il gratuit ?

Oui, il est entièrement gratuit et ne nécessite aucune inscription. Toute la génération de hachages se fait côté client dans votre navigateur.

Pourquoi ai-je besoin de hachages SRI ?

Les hachages SRI garantissent que les scripts externes chargés depuis des CDN n'ont pas été altérés. Si le fichier change, le navigateur en bloquera l'exécution.

Mes données sont-elles en sécurité avec cet outil ?

Absolument. Le générateur de hachages SRI traite tout côté client dans votre navigateur. Aucune donnée n'est envoyée ni stockée sur un serveur. Votre contenu reste privé sur votre appareil à tout moment.

Le générateur de hachages SRI fonctionne-t-il sur les appareils mobiles ?

Oui, le générateur de hachages SRI est entièrement adaptatif et fonctionne sur smartphones et tablettes. Vous pouvez l'utiliser sur tout appareil doté d'un navigateur web moderne, sans aucune application à télécharger.

Dois-je créer un compte pour utiliser cet outil ?

Aucun compte ni inscription n'est nécessaire. Ouvrez simplement le générateur de hachages SRI dans votre navigateur et commencez à l'utiliser immédiatement. Il n'y a ni page d'inscription ni restriction d'utilisation.

Comment utiliser le générateur de hachages SRI ?

Saisissez simplement votre texte dans le champ prévu à cet effet, ajustez les paramètres selon vos préférences et l'outil le traitera instantanément. Vous pouvez ensuite copier le résultat dans le presse-papiers ou le télécharger.

Quels navigateurs sont pris en charge ?

Le générateur de hachages SRI fonctionne sur tous les navigateurs modernes, notamment Chrome, Firefox, Safari, Edge et Opera. Pour une expérience optimale, utilisez la dernière version de votre navigateur préféré.

Quelle est la différence entre SHA-256, SHA-384 et SHA-512 pour les hashs SRI ?

Les trois sont des fonctions de hachage SHA-2 et toutes sont valides pour Subresource Integrity ; la différence tient à la longueur du condensé et à la marge de sécurité qu'elle procure. SHA-256 produit un hash de 256 bits, SHA-384 un hash de 384 bits, et SHA-512 un hash de 512 bits, si bien que l'attribut integrity devient progressivement plus long. La spécification du W3C désigne SHA-384 comme choix par défaut recommandé car il équilibre une bonne marge de sécurité et la longueur de l'attribut, c'est pourquoi cet outil le sélectionne par défaut. Vous n'êtes toutefois pas limité à un seul : vous pouvez même lister plusieurs hashs dans un attribut, comme integrity="sha384-... sha512-...", et le navigateur utilisera l'algorithme le plus fort qu'il comprend. Générez votre fichier ici et l'outil renvoie les trois condensés en une fois, celui correspondant à l'algorithme sélectionné étant marqué comme principal afin que vous puissiez copier celui que vous préférez.

Pourquoi un script protégé par SRI a-t-il besoin de l'attribut crossorigin="anonymous" ?

Subresource Integrity ne peut vérifier qu'un fichier que le navigateur est autorisé à lire, et pour une ressource chargée depuis une origine différente de votre page, cette autorisation provient de CORS. Ajouter crossorigin="anonymous" fait envoyer par le navigateur une requête cross-origin anonyme, et tant que l'hébergeur renvoie les bons en-têtes CORS, la réponse devient lisible pour que son hash puisse être calculé et comparé. Sans cet attribut, le navigateur traite la réponse cross-origin comme opaque : il ne peut pas lire les octets, ne peut pas vérifier le hash d'intégrité, et refuse de charger la ressource, si bien que votre script ou votre feuille de style échoue silencieusement. C'est pourquoi chaque balise script et link générée par cet outil inclut déjà crossorigin="anonymous". Collez votre fichier ou son URL, copiez la balise finale, et l'attribut CORS est géré pour vous.

Que se passe-t-il dans le navigateur quand un hash SRI ne correspond pas au fichier ?

Quand vous ajoutez un attribut integrity, le navigateur télécharge la ressource, hache les octets avec l'algorithme nommé, et compare le résultat à la valeur que vous avez fournie. S'ils correspondent, le fichier s'exécute normalement. S'ils diffèrent pour une raison quelconque, que le fichier ait été modifié, remplacé, ou que le CDN ait été compromis, le navigateur refuse de l'utiliser intégralement : un script bloqué ne s'exécute jamais et une feuille de style bloquée ne s'applique jamais, et une erreur réseau est signalée dans la console. Cet échec net est tout l'intérêt de la fonctionnalité, transformant une compromission silencieuse de la chaîne d'approvisionnement en un blocage visible et appliqué plutôt que de laisser s'exécuter du code altéré. Comme une ressource bloquée peut casser une page, cet outil peut aussi générer un secours onerror qui bascule vers une copie locale, pour que la page dégrade en douceur. Générez un hash ci-dessus et ajoutez-le à votre balise pour activer cette protection.

Comment mettre à jour un hash SRI quand le fichier du CDN change ?

Un hash SRI vérifie un instantané exact d'un fichier, donc tout changement légitime le casse intentionnellement. Si une bibliothèque publie une nouvelle version, si le CDN sert un build corrigé, ou si vous mettez à jour une URL figée, les octets diffèrent et l'ancien hash ne correspondra plus, ce qui fait que le navigateur bloque la ressource jusqu'à ce que vous le régénériez. La solution consiste à calculer un nouveau hash pour le nouveau fichier et à remplacer la valeur dans votre attribut integrity. Pour éviter une casse surprise, pointez vers une URL versionnée et immuable plutôt que vers un chemin « latest » flottant, afin que le fichier ne change que lorsque vous pointez délibérément vers une nouvelle version. Le moment venu, collez le fichier mis à jour ou son URL dans cet outil, générez le nouveau hash, et copiez la balise de remplacement directement dans votre HTML.

Pourquoi le mode batch CDN échoue-t-il parfois à récupérer un fichier distant ?

Coller du contenu ou importer un fichier est haché entièrement dans votre navigateur, donc rien ne quitte votre machine. Le mode batch est différent : pour hacher une ressource distante, il doit d'abord télécharger ce fichier, et cette récupération est une véritable requête cross-origin soumise à la politique CORS de l'hébergeur. Si le CDN ou le serveur ne renvoie pas d'en-têtes CORS permissifs, le navigateur bloque la réponse que votre code ne peut pas lire, et la récupération échoue même si le fichier existe et que l'URL est correcte. Certains hébergeurs limitent aussi le débit ou refusent les requêtes automatisées. Il s'agit d'une limitation du serveur distant, pas du hash lui-même, puisque le même fichier collé se hache sans problème. Pour un résultat garanti, téléchargez le fichier et utilisez plutôt l'onglet coller ou importer. Essayez les préréglages batch proposés ici pour les bibliothèques populaires, et repassez en mode collage quand une URL est bloquée.

À propos du générateur de hash SRI

Le générateur de hash SRI crée des hashs Subresource Integrity pour les fichiers JavaScript et CSS externes que vos pages chargent depuis un CDN ou un hébergeur tiers. Collez le contenu du fichier, déposez-le directement, ou mettez en file une liste d'URL, et l'outil renvoie la valeur d'intégrité cryptographique ainsi qu'une balise <script> ou <link> prête à coller. Il s'adresse aux développeurs front-end, aux propriétaires de sites et aux ingénieurs sécurité qui récupèrent des bibliothèques comme jQuery, Bootstrap ou React sur un CDN public et veulent que le navigateur refuse tout fichier qui aurait été substitué en douce.

Le hachage s'effectue dans votre navigateur grâce à l'API Web Crypto. Quand vous collez du contenu ou importez un fichier, rien n'est envoyé où que ce soit — pas de compte, pas d'étape d'upload, pas de copie de votre code sur un serveur. Le mode batch fait exception : pour hacher une URL distante, l'outil doit récupérer ce fichier, donc ces requêtes quittent votre machine et peuvent être bloquées par la politique CORS de l'hébergeur. Pour un résultat garanti, préférez le collage ou l'import de fichier.

Qu'est-ce que Subresource Integrity et pourquoi c'est important

Subresource Integrity est une fonctionnalité de sécurité du navigateur définie par le W3C. Vous ajoutez un attribut integrity contenant un hash en base64 à une balise script ou stylesheet. Le navigateur télécharge le fichier, le hache, et compare : si les hashs correspondent, la ressource s'exécute ; s'ils diffèrent — parce que le fichier a été modifié, remplacé, ou que le CDN a été compromis — le navigateur le bloque intégralement.

Cette protection compte parce qu'une seule bibliothèque altérée peut exécuter du code arbitraire sur toutes les pages qui l'incluent. Les attaques de la chaîne d'approvisionnement (supply-chain) visant les CDN et les paquets npm sont une menace récurrente, et SRI transforme une compromission silencieuse en un échec net que le navigateur applique pour vous. Une réserve toutefois : SRI vérifie un instantané figé du fichier, donc le hash doit être régénéré à chaque changement légitime (nouvelle version, build corrigé), et il ne peut pas être utilisé pour des scripts inline dont le contenu est dynamique.

Comment générer un hash

  • Coller du contenu — déposez le JS ou le CSS brut, choisissez un algorithme, et générez. Le contenu collé est étiqueté inline-content dans le résultat ; remplacez-le par votre véritable src/href.
  • Importer des fichiers — glissez-déposez, ou parcourez pour sélectionner un ou plusieurs fichiers .js, .css ou .mjs. Chaque fichier est haché localement et sa taille en octets est affichée.
  • Mode batch / CDN — collez une liste d'URL (une par ligne) pour récupérer et hacher plusieurs ressources distantes à la fois. L'outil propose aussi des préréglages pour des bibliothèques populaires telles que jQuery, Bootstrap, React, Vue, Alpine.js, Axios et Font Awesome, à titre de référence.

Chaque résultat inclut les trois hashs — SHA-256, SHA-384 et SHA-512 — vous pouvez donc copier n'importe lequel d'entre eux, celui correspondant à l'algorithme sélectionné étant marqué comme principal.

Choisir un algorithme et l'attribut crossorigin

  • SHA-384 est le choix par défaut et recommandé selon la spécification du W3C — un équilibre judicieux entre robustesse et longueur. SHA-256 et SHA-512 sont tout aussi valides, et vous pouvez lister plusieurs hashs dans un seul attribut (integrity="sha384-... sha512-...") afin que le navigateur utilise le plus fort qu'il comprend.
  • crossorigin="anonymous" est obligatoire. Les ressources cross-origin ont besoin de CORS pour être lisibles lors de la vérification d'intégrité, donc les balises générées l'incluent toujours. Sans cet attribut, le navigateur ne peut pas vérifier le hash et la ressource échoue au chargement.
  • Un motif de secours optionnel ajoute un gestionnaire onerror qui bascule vers une copie locale si le contrôle d'intégrité bloque le fichier du CDN, afin qu'une ressource altérée ou inaccessible dégrade la page en douceur au lieu de la casser.

Compatibilité des navigateurs

SRI est pris en charge par tous les navigateurs actuels : Chrome 45+, Firefox 43+, Safari 11.1+, Edge 17+ et Opera 32+. Internet Explorer 11 ignore l'attribut et charge les ressources sans vérification, donc considérez SRI comme une couche de protection solide pour les visiteurs modernes plutôt qu'une garantie universelle. Générez vos hashs ci-dessus, copiez la balise finale, et collez-la directement dans votre HTML.