SomeeLab.tools

ファイルのチェックサム照合

ファイルのMD5・SHA-1・SHA-256を求め、配布元が示したハッシュと突き合わせます。ファイルはブラウザ内で読み取ります。

ここにドロップもできます

チェックサムが答える問い

チェックサムが答えるのは一つだけです。いま手元にあるファイルは、配布元が作ったファイルと同じものかという問いです。1バイト違うだけでハッシュは丸ごと変わるので、値が一致すれば転送中に欠けてもいないし、途中で別のファイルにすり替えられてもいないことになります。値が違うのは小さな問題ではありません。開かずにもう一度ダウンロードしてください。二つ目の控えも合わなければ、別の経路から入手してください。

公開されたハッシュはどこにあるか

ダウンロードリンクの隣に SHA256SUMS のような名前のファイルを一緒に置くプロジェクトが多く、配布ファイルごとに1行ずつハッシュが書かれています。GitHubのリリースならリリースノート本文か添付ファイルに載り、Linuxディストリビューションは ISO と同じディレクトリに置きます。コンテナイメージは sha256: で始まるダイジェストをレジストリ自身が示します。

ファイルと同じ場所で受け取ったハッシュは弱い

ファイルとハッシュを同じサーバーから受け取る場合、ファイルを差し替えられる相手はその場でハッシュも書き換えられます。すると二つはぴたりと一致してしまいます。そのため、しっかりしたプロジェクトは合計ファイルに署名を添えます。SHA256SUMS の隣に SHA256SUMS.gpgSHA256SUMS.asc があり、署名鍵は別に公開されています。まず署名を確かめ、そのうえで中身の合計を信用してください。署名がない場合は、ファイルの隣に置かれた値よりも、別の経路で得た値のほうが頼りになります。プロジェクトのメーリングリスト、パッケージのマニフェスト、ベンダーの文書サイトなどです。

MD5とSHA-1がまだ残っている理由

どちらも安全性の面ではすでに破られています。同じMD5値になる別々のファイルを実際に作れますし、SHA-1の衝突も実在の文書形式で実演されました。ですからどちらも、誰も手を加えていないことの証明にはなりません。それでも事故を見つける役目は今も果たします。途中で切れたダウンロード、壊れたディスク、古い控えを返すミラーなどです。古いプロジェクトではMD5しか公開していないこともあり、それでも照合するほうが何も見ないよりましです。SHA-256が併記されていれば、そちらを使ってください。

表記が配布元ごとに違う理由

ダイジェストは結局のところ数値なので、書き方は配布元によってまちまちです。小文字で書くところも大文字で書くところもありますが、同じ値なのでここでは大文字と小文字を区別しません。レジストリは sha256: のようにアルゴリズム名を前に付けます。sha256sum コマンドはハッシュ、空白2つ、ファイル名の順に出力し、openssl dgst はファイル名を先に書いて等号のあとにハッシュを置きます。どの形でもそのまま貼り付ければ、その行からハッシュだけを取り出します。