0

SRIハッシュジェネレーター

任意のJSまたはCSSファイルのサブリソース整合性ハッシュを生成し、すぐに貼り付け可能なscriptタグまたはlinkタグを取得します。

🔒 ブラウザ内で完全に処理されます。ここに入力した内容はアップロードされません。

🔗

画像をドラッグ&ドロップ

任意のJS/CSSファイルで動作します。何もアップロードされず、ハッシュはローカルで計算されます。

サブリソース整合性では、sha256、sha384、sha512のダイジェストのみが許可され、Base64エンコードが必要です。このツールはそれに応じて選択肢を制限するため、出力は常に仕様に準拠します。

処理中... 0%
ファイルを読み取り中
ダイジェストを計算中
Base64にエンコード中
完了

結果

サブリソース整合性(SRI)を使用すると、CDNやサードパーティホストから取得したスクリプトやスタイルシートが実行前に変更されていないことをブラウザが検証できます。ブラウザはダウンロードしたバイトをハッシュし、そのダイジェストが公開したintegrity属性と一致しない場合、ファイルの実行を拒否します。このツールは、ドロップされた任意のJS/CSSファイルのダイジェストをブラウザのタブ内で完全に計算するため、ハッシュ化のためにファイルをマシンから外部に送信する必要はありません。

汎用的なハッシュツールでは、使用可能なSRI値は生成されません。仕様では、多くのチェックサムツールが出力する16進数文字列ではなく、Base64エンコードされたダイジェストが必要であり、認識されるアルゴリズムもsha256、sha384、sha512の3つのみです。このジェネレーターはアルゴリズムの選択肢をこの3つに限定し、結果を正しい方法でエンコードした上で、さらに一歩進んで、その周囲に完全なHTMLタグを構成します。srcまたはhrefフィールドはプレースホルダーになっており、コピーする前にその場で編集できます。

内部では、ファイルはFile APIで読み取られ、ネイティブのcrypto.subtle.digest()実装でハッシュ化され、結果のバイトは単一の大規模なスプレッド操作ではなく小さなチャンクでBase64に変換されます。これは、バンドルされたJSファイルが約10万バイトを超えると重要になる詳細であり、単純な変換アプローチではブラウザのコールスタック制限に達する可能性があります。

sha384がデフォルトで選択されているのは、SRIの例やドキュメントで最も一般的に推奨されるアルゴリズムであり、ダイジェスト長と衝突耐性のバランスが取れているためです。ただし、ビルドパイプラインやCDNプロバイダーが異なる要件を指定している場合は、sha256とsha512をワンクリックで選択できます。