search

Found

info Aperçu

Calcule SHA-256 via Web Crypto API et produit le jeton 'sha256-...' en Base64 prêt à coller dans une directive CSP.

📘 Mode d'emploi

  1. Coller ou saisir le code du script ou du style dans le champ de texte
  2. Consulter le hash SHA-256 généré au format CSP

Générateur de hachage CSP Inline

Copié !
Article

Générateur de Hash Inline CSP | Sécurisez vos scripts et styles

Ce générateur calcule instantanément l'empreinte cryptographique SHA-256 encodée en Base64 d'un code source pour la directive Content Security Policy (CSP). Conçu pour les développeurs web et les ingénieurs en cybersécurité souhaitant autoriser l'exécution de scripts ou de styles en ligne de manière stricte sans compromettre la sécurité.

💡 Présentation de l'outil

Cet outil est dédié au calcul rapide du hash requis par les en-têtes CSP (script-src ou style-src) pour autoriser des blocs <script> ou <style> spécifiques en évitant le recours à la directive vulnérable 'unsafe-inline'.

  • Calcul en temps réel via Web Crypto API : La génération s'effectue automatiquement via crypto.subtle.digest dès la modification du code.
  • Format prêt à l'emploi : Le résultat est encapsulé de 'sha256-...', format exigé par les spécifications du W3C, facilitant l'intégration directe dans les configurations de serveurs (Nginx, Apache, HAProxy) ou les pare-feux d'application web (WAF).
  • Traitement local et confidentialité : Les données ne sont pas envoyées à un serveur et sont traitées uniquement dans votre navigateur.
  • Précision cryptographique : L'outil convertit précisément le texte brut en UTF-8 avant le hachage. Attention à reproduire exactement les espaces et sauts de ligne présents dans le code final rendu par votre backend.

🧐 Foire aux questions

Q. Pourquoi le hash généré par l'outil diffère-t-il de celui suggéré dans la console du navigateur ?

A. Le navigateur calcule le hash sur le contenu textuel exact compris entre les balises HTML. Si votre serveur ou votre framework injecte des sauts de ligne invisibles (CRLF vs LF), des espaces d'indentation ou modifie la structure lors de la minification, le hash divergera. Il est crucial de soumettre à l'outil la chaîne de caractères strictement identique (octet par octet) à celle évaluée par le navigateur. N'incluez jamais les balises <script> ou <style> elles-mêmes dans la zone de saisie.

Q. Comment implémenter ce hash dans mon en-tête HTTP ?

A. Ajoutez la valeur générée dans la directive appropriée de votre politique. Par exemple, pour autoriser un script inline critique : Content-Security-Policy: script-src 'self' 'sha256-votreBase64Hash=';. Dans les environnements conformes à CSP Level 2 et supérieur, la présence d'un hash ou d'un nonce annule automatiquement la prise en compte de 'unsafe-inline' par les navigateurs modernes.

📚 Spécifications techniques des Hashs CSP

La norme Content Security Policy Level 2 a introduit la possibilité d'utiliser des empreintes cryptographiques pour affiner les contrôles de sécurité. Lors de l'analyse lexicale d'un document HTML, le moteur de rendu extrait le textContent de chaque bloc inline, calcule son condensat (SHA-256, SHA-384 ou SHA-512), et vérifie sa conformité par rapport à l'en-tête de réponse.

Sur le plan opérationnel, ce hachage est d'une stricte sensibilité au whitespace. Lors de l'intégration continue (CI/CD) d'applications SSR (Server-Side Rendering) ou de Single Page Applications (SPA), l'automatisation de cette extraction est recommandée. Cet outil fournit une méthode de validation manuelle rapide et fiable pour générer les valeurs de référence lors de sessions de débogage, d'audits de sécurité ou d'ajustements ponctuels de directives CSP sur des plateformes de type Cloudflare ou AWS WAF.