﻿---
title: "Générateur de hash SRI gratuit - Subresource Integrity"
description: "Collez l'URL d'un script ou d'une feuille de style servie par un CDN : hash SRI SHA-256, 384 ou 512, balise prête à coller et vérification CORS. Gratuit."
url: "https://centralcsp.com/fr/tools/sri-hash/"
lang: "fr"
---

Outils

# Calculateur de hash SRI

Collez l'URL d'un script ou d'une feuille de style servie par un CDN et obtenez son hash Subresource Integrity, pour épingler le fichier exact dans votre HTML.

URL du script ou de la feuille de style [Découvrez comment fonctionne le SRI](https://centralcsp.com/fr/docs/web-security/other/subresource-integrity)

256 384 512

Calculer le hash SRI

Besoin d'un hash pour votre propre script ou style inline ? [Utiliser le calculateur de hash CSP](https://centralcsp.com/fr/tools/csp-hash/)

Guide

## Comprendre le Subresource Integrity

Le Subresource Integrity (SRI) est l'attribut integrity que vous ajoutez à un script ou une feuille de style chargés depuis un autre hôte, pour que le navigateur rejette le fichier si un CDN sert un jour du code altéré.

### Qu'est-ce qu'un hash Subresource Integrity (SRI) ?

Un hash SRI est un condensé SHA encodé en base64 des octets exacts d'un fichier. Vous le placez dans l'attribut integrity d'une balise script ou link ; le navigateur hache ce qu'il télécharge, compare, et refuse la ressource à la moindre différence, la traitant comme une erreur réseau.

Il protège contre une menace précise : un hôte tiers ou un CDN qui vous sert du code altéré ou compromis. Comme la valeur est liée au fichier exact, un attaquant qui remplace la ressource ne peut pas la faire exécuter par le navigateur. Lisez l'explication complète dans le [guide Subresource Integrity](https://centralcsp.com/fr/docs/web-security/other/subresource-integrity).

```
<script
  src="https://cdn.example.com/app.min.js"
  integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
  crossorigin="anonymous"></script>
```

### Quelles ressources peuvent porter une empreinte SRI ?

Deux seulement : une balise script, et une balise link dont le rel vaut stylesheet, preload ou modulepreload. Sur une image, une iframe, une vidéo ou une police, l'attribut est ignoré, sans le moindre avertissement.

Il vaut la peine de l'ajouter partout où le fichier est censé rester exactement tel qu'il est aujourd'hui :

-   Une bibliothèque épinglée à une version sur un CDN public
-   Une feuille de style ou une police d'icônes servie par un autre hôte
-   Le bundle d'un widget ou d'un SDK à une URL qui ne change jamais
-   Votre propre sortie de build, quand le bundler écrit les empreintes pour vous

### Ajoutez l'attribut crossorigin

Pour un fichier sur une autre origine, ajoutez crossorigin="anonymous" à côté de integrity. Un navigateur ne vérifie une ressource cross-origin que si l'hôte autorise la lecture via CORS, un en-tête Access-Control-Allow-Origin. Sans lui, le navigateur ne peut pas vérifier le fichier et ignore l'attribut integrity, c'est pourquoi cet outil vous avertit lorsqu'une URL n'est pas lisible via CORS.

La paire d'attributs est la même sur les deux balises :

Sur un script

```
<script
  src="https://cdn.example.com/chart.min.js"
  integrity="sha384-Cbq7oAJVQfWCcGpuf3EmLpr4wqzBQKux9Hy8drVeoJXPFrWvNQ1kPzQho2wxJwY8"
  crossorigin="anonymous"></script>
```

Sur une feuille de style

```
<link
  rel="stylesheet"
  href="https://cdn.example.com/theme.css"
  integrity="sha384-VuArbKap7CY5uykM6oqf+R9GqQ8Kux9rx7HNQlGYl1kPzQho1wx4JwY8wCdgcRRap"
  crossorigin="anonymous">
```

### Là où SRI cesse de fonctionner

Une empreinte couvre un fichier à une URL : elle s'arrête au premier élément qui bouge.

-   Les scripts qui se mettent à jour à une URL fixe. Un tag manager, un loader d'analytics ou un SDK de paiement publie de nouveaux octets quand le fournisseur le décide, et une empreinte épinglée bloque la page à la version suivante. Stripe.js en est le cas le plus net : il doit être chargé depuis js.stripe.com et n'accepte aucune empreinte.
-   Les scripts injectés par un autre script. L'empreinte posée sur un loader couvre le loader, pas les balises qu'il ajoute ensuite : c'est ce qui rend les tag managers difficiles à épingler en pratique.
-   Les fichiers qu'un hôte cross-origin refuse de servir avec CORS. Sans en-tête Access-Control-Allow-Origin, le navigateur ne peut pas lire le fichier pour le vérifier : il ignore l'attribut.
-   Les scripts inline et les feuilles de style tirées par un @import CSS. Utilisez une empreinte CSP pour les premiers, et épinglez la feuille de style importatrice pour les secondes.

### Imposer le SRI sur tout votre site

SRI fonctionne par adhésion : vous ajoutez une empreinte balise par balise. L'ancienne [directive require-sri-for](https://centralcsp.com/fr/docs/web-security/policies/content-security-policy/directives/require-sri-for) de CSP l'aurait imposé à tout le site, mais elle n'a jamais atteint un navigateur stable et elle est abandonnée.

Pour imposer l'intégrité sur tout votre site aujourd'hui, utilisez l'en-tête Integrity-Policy : le navigateur bloque, ou signale, tout script chargé sans SRI valide, transformant une option par balise en une politique applicable. Les deux sont détaillés dans le [guide Integrity-Policy](https://centralcsp.com/fr/docs/web-security/policies/integrity-policy).

```
Integrity-Policy: blocked-destinations=(script)
```

### SHA-256, SHA-384 ou SHA-512 ?

Le SRI accepte les mêmes trois algorithmes que la CSP. SHA-384 est le choix le plus courant pour le SRI, mais les trois sont aussi sûrs ici, alors choisissez-en un et appliquez-le systématiquement. Vous pouvez même lister plusieurs hashs sur une balise : le navigateur accepte le fichier si l'algorithme le plus fort qu'il comprend correspond.

Pour aller plus loin

-   [Subresource Integrity](https://centralcsp.com/fr/docs/web-security/other/subresource-integrity)
-   [L'en-tête Integrity-Policy](https://centralcsp.com/fr/docs/web-security/policies/integrity-policy)
-   [Surveiller les rapports Integrity-Policy](https://centralcsp.com/fr/docs/platform/monitoring/integrity-policy)
-   [Comment générer un hash Subresource Integrity](https://centralcsp.com/fr/blog/generate-sri-hash)
-   [Protéger les scripts CDN avec Subresource Integrity](https://centralcsp.com/fr/blog/subresource-integrity-sri)
-   [Corriger un constat Unsafe Implementation of Subresource Integrity](https://centralcsp.com/fr/blog/fix-sri-security-finding)
-   [Hash SRI ou hash CSP, la différence](https://centralcsp.com/fr/blog/sri-vs-csp-hash)
-   [Générer les hash SRI automatiquement avec webpack et Vite](https://centralcsp.com/fr/blog/sri-webpack-vite)

Plus d'outils gratuits

## Poursuivez l'audit avec les autres outils gratuits

Chaque outil est gratuit, fonctionne sans compte et note avec la même échelle de sévérité.

### Scanner CSP

Récupérez la Content-Security-Policy réellement servie par une URL et notez-la face aux contournements connus, aux sources joker et aux directives manquantes.

-   Constats au niveau des directives
-   Lien de résultats partageable

[Lancer le scanner CSP](https://centralcsp.com/fr/tools/csp-scanner/)

### Évaluateur CSP

Collez une politique pas encore déployée et obtenez la même notation et les mêmes constats qu'un scan en ligne, sans URL.

-   Auditez avant de déployer
-   Même moteur de notation

[Évaluer une politique dans l'évaluateur CSP](https://centralcsp.com/fr/tools/csp-evaluator/)

### Scanner d'en-têtes de sécurité

Notez chaque en-tête de sécurité envoyé par une URL, de HSTS à Permissions-Policy, avec chaque constat expliqué et priorisé.

-   Tous les en-têtes, une seule note
-   Correctifs classés par impact

[Scanner vos en-têtes de sécurité](https://centralcsp.com/fr/tools/security-headers/)

### Vérificateur Reporting API

Vérifiez que le signalement des violations fonctionne vraiment : les endpoints, Reporting-Endpoints et Report-To, et quelles fonctionnalités de sécurité rapportent réellement.

-   Cartographie des endpoints et fonctionnalités
-   Pertes silencieuses signalées

[Vérifier votre configuration Reporting API](https://centralcsp.com/fr/tools/reporting-api/)

### Générateur de hash CSP

Transformez un script ou un style inline en hash qui l'autorise sous une politique stricte, directement dans votre navigateur.

-   Fonctionne entièrement côté client
-   SHA-256, 384 et 512

[Générer un hash CSP](https://centralcsp.com/fr/tools/csp-hash/)

### Comparateur de sites

Situez votre score : votre site à côté de la moyenne du jeu de données et des sites les mieux configurés de l'année, contrôle par contrôle.

-   Références publiées et vérifiables
-   Vue radar par catégorie

[Comparez votre site aux meilleurs](https://centralcsp.com/fr/tools/compare/)

FAQ

## Questions fréquentes

Intégrité, CORS, algorithmes et rotation, expliqués.

### Qu'est-ce qu'un hash Subresource Integrity (SRI) ?

Un hash Subresource Integrity est une empreinte SHA encodée en base64 des octets exacts d'un fichier externe, placée dans l'attribut integrity d'une balise script ou link. Le navigateur télécharge le fichier, calcule l'empreinte de ce qu'il a reçu, et refuse de l'exécuter ou de l'appliquer si les deux ne correspondent pas : un CDN qui se met à servir un contenu différent est bloqué plutôt que d'être cru sur parole.

### Pourquoi SRI a-t-il besoin de crossorigin="anonymous" ?

Un navigateur ne vérifie l'intégrité d'un fichier cross-origin que s'il est autorisé à le lire, et crossorigin="anonymous" est ce qui rend la requête compatible CORS afin qu'il puisse lire le corps de la réponse. Sans cet attribut, le navigateur ne peut pas vérifier l'empreinte et ignore totalement l'attribut integrity : la protection n'existe alors tout simplement pas. L'hôte du fichier doit également envoyer un en-tête Access-Control-Allow-Origin.

### Faut-il utiliser SHA-256, SHA-384 ou SHA-512 ?

SHA-384 est le choix par défaut courant pour SRI et SHA-256 est tout aussi sûr en pratique ; les trois sont acceptés par tous les navigateurs qui prennent en charge Subresource Integrity. Les empreintes plus longues produisent des attributs plus longs sans gain de sécurité significatif pour cet usage. Choisissez-en une et appliquez-la partout : un attribut périmé se repère plus facilement en relecture.

### Un hash SRI est-il la même chose qu'un hash CSP ?

Non. Un hash SRI vérifie les octets d'un fichier externe téléchargé par le navigateur, et il se place dans l'attribut integrity de la balise qui le charge. Un hash CSP autorise un script ou un style inline précis, déjà écrit dans votre HTML, et il se place dans la directive script-src ou style-src de votre Content-Security-Policy. Les deux acceptent SHA-256, SHA-384 et SHA-512, et c'est en général de là que vient la confusion.

### Pourquoi le navigateur bloque-t-il mon script alors que le hash semble correct ?

En général parce que le fichier a changé après le calcul du hash, ou parce que le navigateur n'a pas pu le vérifier du tout. Un CDN qui publie une nouvelle version sert des octets différents et l'empreinte épinglée ne correspond plus. Un fichier cross-origin servi sans en-tête Access-Control-Allow-Origin ne peut pas être lu pour vérification, et un attribut crossorigin manquant produit le même effet. Le message de la console indique lequel des deux cas s'est produit.

### Faut-il un nouveau hash à chaque changement du fichier sur le CDN ?

Oui, et c'est le compromis que vous acceptez en épinglant un fichier. Un attribut integrity couvre une version précise : toute nouvelle publication l'invalide et le navigateur bloque le fichier tant que vous n'avez pas mis à jour l'attribut. La réponse habituelle consiste à épingler une URL versionnée plutôt qu'une URL flottante de type latest, pour que le fichier à cette adresse ne change jamais sous vos pieds.

### Ce générateur de hash SRI est-il gratuit ?

Oui, il est gratuit et ne demande aucun compte. Saisissez l'URL d'un script ou d'une feuille de style et il renvoie les empreintes SHA-256, SHA-384 et SHA-512, accompagnées d'une balise prête à coller. Aucune limite d'usage à débloquer, aucun résultat caché derrière un formulaire.

## Suivez l'intégrité sur chaque page

Un hash SRI verrouille un fichier, CentralCSP les surveille tous. Déployez une Integrity-Policy en report-only et repérez un script tiers altéré dès qu'il change, dans les navigateurs de vos vrais visiteurs.

[Commencer avec CentralCSP](https://app.centralcsp.com) [Suivre l'intégrité des scripts sur toutes vos pages](https://centralcsp.com/fr/platform/supply-chain/)

---

Disponible en : [en](https://centralcsp.com/en/tools/sri-hash/), [fr](https://centralcsp.com/fr/tools/sri-hash/)
