0

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

任意の JS または CSS ファイルのサブリソース整合性ハッシュを生成し、すぐに貼り付けられるスクリプトまたはリンク タグを取得します。

🔗

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

あらゆる JS または CSS ファイルで動作します。何もアップロードされず、ハッシュはローカルで計算されます。

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

Buy Me a Coffee at ko-fi.com
処理中... 0%
ファイルの読み込み中
コンピューティングダイジェスト
Base64へのエンコード
完了

結果

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

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

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

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