開発者向け / TOOL 91
SRIハッシュ生成ツール
JavaScriptやCSSからsha256・sha384・sha512のSRI integrity属性値を生成します。
01 条件を入力AUTO CALCULATE
02 / YOUR RESULT結果
入力すると結果が表示されます
計算結果は参考値です。
計算方法・条件・注意点をあわせてご確認ください。
計算方法・根拠を確認 ↓
URL共有時は、対応する入力値がURLに含まれます。
使い方
JavaScriptまたはCSSの内容を貼り付けるか、ファイルを選択してください。ハッシュ方式を選ぶと、SRIで使うsha256-...形式のintegrity属性値を生成します。結果にはscriptタグとlinkタグの例も表示します。ファイルを選択した場合はその内容をブラウザ内で読み込み、貼り付け欄へ反映します。生成後は、配信するファイルのバイト列が変わっていないことを確認してHTMLへ設定してください。
計算方法・根拠
Web Crypto APIのcrypto.subtle.digestでUTF-8エンコードした内容をSHA-256、SHA-384、SHA-512へ渡し、得られたバイト列をBase64へ変換します。SRIの値はアルゴリズム名とハイフンに続けてBase64ハッシュを置く形式です。複数のハッシュを空白で並べると、対応する値のいずれかを検証に使えます。
注意点
- URLから内容を取得する機能はありません。ブラウザのCORS制約があるため、URLを入力して取得する方式はこのページでは対応しません。
- 空白、改行、文字コードを含め、配信される内容と完全に同じバイト列をハッシュしてください。圧縮や変換を後から行うと一致しません。
- 外部scriptでは
crossorigin="anonymous"を付けた例を表示します。サーバーのCORS設定やCSPも対象リソースの配信方式に合わせて確認してください。
よくある質問
Q. sha256・384・512のどれを選びますか?
A. いずれもSRIで利用できます。複数を生成して併記することもできます。既存の運用やセキュリティ方針を優先してください。
Q. ファイルを選ぶと内容は送信されますか?
A. このページの処理ではWeb Crypto APIを使ってブラウザ内で計算します。URL取得や外部送信は行いません。