CSP ハッシュジェネレーターとは
CSPハッシュとはインラインスクリプトまたはスタイルブロックの正確なコンテンツのbase64エンコードされたSHA-256、SHA-384、またはSHA-512ダイジェストです。ハッシュをCSPヘッダーにscript-src 'sha256-...' または style-src 'sha256-...' として追加するとブラウザはその特定のインラインコードの実行を許可し他のすべてのインラインスクリプトやスタイルをブロックします。これは'unsafe-inline'の最も安全な代替手段です。
クイックアンサー
CSPハッシュを使用してunsafe-inlineですべてのインラインコードを有効にすることなく特定のインラインスクリプトやスタイルを許可します。ハッシュは正確なコードコンテンツの暗号化ダイジェストです。SHA-256が標準です。CSPに script-src 'sha256-...' または style-src 'sha256-...' としてハッシュを追加します。
Last updated: 2026-05-28
制限事項
- ハッシュはハッシュ化された正確なコンテンツに対してのみ有効です。空白、書式、またはコンテンツの変更は完全に異なるハッシュを生成しCSP許可リストを壊します。
- 一部のビルドツールやHTMLミニファイアは本番環境でインラインの空白を変更し開発コードから生成されたハッシュを無効にする場合があります。本番出力に対して検証してください。
- CSPハッシュはunsafe-hashesを有効にしない限りインラインイベントハンドラー(onclick、onerror)では機能せずセキュリティが大幅に低下します。
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
使い方
- HTMLから正確なインラインスクリプトまたはスタイルコンテンツをコピーします。すべてのスペース、改行、インデントが一致する必要があります。
- テキストエリアに貼り付けハッシュアルゴリズムを選択します。
- ハッシュ値をコピーしscript-srcまたはstyle-srcの一部としてCSPヘッダーまたはメタタグに追加します。
主な用途
- 重要なパスローダーやアナリティクススニペット用の特定のインラインスクリプトをすべてのインラインスクリプトを有効にせずに許可します。
- スタイルシートの読み込み中にファーストビューの重要なCSS用に小さなインラインスタイルブロックを許可します。
- unsafe-inlineを使用している既存のCSPをより強力なセキュリティのためにハッシュベースの許可リストにアップグレードします。