ファイルハッシュ検証ツール

選択したファイルのSHA-256・SHA-1・MD5を計算し,配布元が示した期待値との文字列一致を確認します.一致はファイルの安全性そのものを保証するものではありません.

読み込み中...

ZeroToolsのブラウザ内処理とプライバシー

ZeroToolsは,入力内容を端末内で処理するツールを中心に提供しています.各ツールの対応範囲と制限を確認して利用してください.

データの取り扱い・プライバシー方針
第1章

ハッシュ値で確認できること

ファイルハッシュ検証ツールは,選択したファイルの内容からSHA-256,SHA-1,MD5のいずれかを計算し,入力した期待値と比較します.ハッシュ関数は任意の長さのデータから固定長の値を作ります.ファイル内の1ビットでも変われば通常は異なる値になるため,配布元が公開したチェックサムとダウンロードしたファイルが一致するかを確認する用途に使えます.

画面で「一致」と表示されるのは,このブラウザで計算した値と入力欄の文字列が,正規化後に同じだったという意味です.ファイルが無害であること,発行者が本物であること,期待値の掲載ページが改ざんされていないことまでは証明しません.期待値を不正なファイルと同じ場所から入手すると,両方が置き換えられている可能性があります.

重要な配布物ではHTTPSの公式ページ,署名付きリリース,別経路の告知なども確認してください.

第2章

SHA-256・SHA-1・MD5の使い分け

配布元がSHA-256を示している場合はSHA-256,MD5を示している場合はMD5というように,同じアルゴリズムを選びます.出力長が違うため,種類を間違えると一致しません.新しくチェックサムを公開する用途では,衝突耐性がより高いSHA-256を基本にするのが適切です.

MD5とSHA-1には衝突攻撃に関する既知の弱点があり,攻撃者を想定した真正性の証明には適しません.古いソフトウェア配布ページが互換性のためにMD5やSHA-1だけを掲載している場合,偶発的な破損確認の参考にはできますが,それだけで信頼性を判断しないでください.可能ならSHA-256や開発者の電子署名を併用します.

第3章

計算と比較の手順

ファイルを選択するとアルゴリズム手動選択なしで自動計算が開始され,純粋なMD5算出に続いてWeb Crypto APIが利用可能な環境ではSHA-1,SHA-256が順次処理されます.計算完了後は照合したい値を期待値欄に入力することで,SHA-256,SHA-1,MD5の優先順位で自動突合されます.

照合処理は両端の空白除去と小文字化のみを行い,「SHA256:」等の接頭辞ラベルやファイル名などの内部文字列は自動除去されないため,余分な識別子を含めず16進数文字列のみを入力してください.

一致しない場合は,まずアルゴリズム,対象ファイル,期待値の版を確認します.同じ名称でも更新版やOS別ファイルは別内容です.ダウンロードが途中で中断された,ブラウザやセキュリティ製品が内容を変更した,期待値を取り違えた可能性もあります.公式配布元から再取得しても一致しない場合は実行せず,配布元へ確認してください.

第4章

Web Crypto APIとMD5実装

SHA-256とSHA-1はブラウザのWeb Crypto APIを利用して計算します.選択したファイルをArrayBufferとして読み込み,subtle.digestへ渡し,返されたバイト列を16進数へ変換します.MD5はWeb Crypto APIの標準ダイジェストに含まれないため,ページ側のJavaScript実装で計算します.

同じ入力とアルゴリズムなら,同じバイト列を処理するほかの正しい実装と同じ値になるはずです.

ハッシュ値は暗号化ではありません.値から元ファイルを通常の方法で復元するものではありませんが,内容を隠す効果もありません.また,秘密の鍵を使わないため,誰でも任意のファイルのハッシュを再計算できます.送信者を確認したい場合はデジタル署名やMACなど,鍵を使う別の仕組みが必要です.

第5章

大容量ファイルと処理限界

現在の実装はファイル全体をブラウザのメモリへ読み込んでから計算します.分割したチャンクを逐次読み込むストリーミング方式ではありません.そのため,ギガバイト級のファイルを常に高速処理できるとは言えず,上限は端末のメモリ,ブラウザの制約,ほかのタブの使用量に依存します.

大きなファイルでは進行に時間がかかり,ブラウザのタブが停止する場合があります.失敗したときはほかの重いタブを閉じ,小さなファイルで機能自体を確認してください.OS標準コマンドや専用アプリが利用できる環境では,大容量ファイルは逐次読込に対応した手段の方が安定します.本ページの「推奨サイズ」は保証値やハード上限ではありません.

第6章

実務での確認例

ソフトウェアを配布ページから取得した場合,まず同じページに掲載されたSHA-256をコピーし,ダウンロードしたファイルを本ツールへ選択します.一致したら,少なくとも掲載値と取得ファイルの内容が対応していることを確認できます.より高い確信が必要なら,公式ドメインか,リリースに署名があるか,署名鍵の指紋を別経路で確認できるかも点検します.

自分がファイルを送る側なら,送信前にSHA-256を計算し,ファイルとは別の信頼できる連絡経路で相手へ値を伝える方法があります.受信者は受け取ったファイルを計算して比較します.ただし,ファイルと期待値を同じ改ざん可能な場所へ置くだけでは攻撃への耐性は限定的です.ハッシュ照合を「安全判定ボタン」ではなく,内容の同一性を確かめる一工程として位置づけることが大切です.

第7章

一致しないときに確認する順序

まず,期待値が同じバージョン・同じOS・同じアーキテクチャ向けのファイルに対応しているかを確認します.たとえばWindows版とmacOS版,インストーラーと圧縮版では名前が似ていても内容は異なります.次にアルゴリズムを確認し,期待値から空白やラベル,ファイル名を除いて16進数だけを貼り付けます.

それでも不一致なら,公式配布元から再ダウンロードします.二度取得して同じ別の値になる場合は,掲載された期待値が古い可能性もありますが,自己判断で実行せず配布元の案内を確認してください.メール添付や転送システムがファイルを変換する場合もあるため,送信者へ別経路で値を確認します.

第8章

ハッシュ値を記録するときの注意

バックアップの定期点検では,作成時のSHA-256を台帳へ記録し,復元時に再計算できます.ただしハッシュ値が一致しても,記録時点ですでに誤ったファイルだった可能性や,ファイルを開くアプリの安全性までは分かりません.ファイル名,作成日,版,取得元と一緒に記録すると取り違えを減らせます.

個人情報や秘密文書では,ハッシュ値自体から内容を直接読めないとしても,既知のファイル候補と照合される可能性があります.ハッシュ値を無条件に公開せず,用途に応じてアクセスを制限してください.同じ文書を別形式で保存したり,メタデータや改行を1か所変えたりすれば値は変わります.内容が人間には同じに見えてもバイト列が違えば一致しないため,比較では必ず元と同じファイルそのものを使います.

圧縮ファイルを展開した中身と,展開前のZIPは別のファイルです.配布元がZIPのSHA-256を掲載しているならZIPを選び,展開後の実行ファイルの値と混同しないでください.チェックサム一覧に複数ファイルが並ぶ場合は,名前だけでなくサイズと版も照合すると取り違えを減らせます.計算結果を転記するときは,値の一部だけでなく全桁を比較してください.

各行のMD5・SHA-1・SHA-256から希望の値を選んでコピーでき,チェック表示はPromise解決後にのみ現れます.権限拒否や未対応環境では手動選択で複写してください.新規ファイル選択や消去時に以前の通知は破棄されますが,処理中クリップボード書き込みの取り消しやハッシュ計算の競合修復は行われません.また照合一致はマルウェア非感染や完全な安全性を保証するものではありません.

よくある質問(FAQ)

A.
一致が示すのは,入力した期待値と計算結果が同じ文字列であることだけです.期待値の掲載元が信頼できるか,電子署名など別の確認手段があるかも確認してください.
A.
配布元が指定した種類と同じものを選びます.新しくチェックサムを公開する用途ではSHA-256を基本にし,MD5やSHA-1は古い配布物との照合など互換性が必要な場合に限るのが無難です.
A.
現在の実装はファイル全体をメモリへ読み込んで計算します.処理可能な大きさは端末・ブラウザの空きメモリに依存するため,大容量ファイルでは時間増加や失敗が起こり得ます.
A.
配布元が指定したアルゴリズムを選び、対象のファイル名とバージョンを確認してください。同じ条件で再計算しても一致しなければ、配布元から再取得して照合してください。