ファイルハッシュ計算ツール

ファイルの内容や任意のテキストを貼り付けるだけで、MD5、SHA-1、SHA-256、SHA-512といった一般的な暗号学的ハッシュ値をすべて取得できます。ベンダーが公開したチェックサムとダウンロードを照合したり、バックアップの整合性を抜き取りで確認したり、パイプラインにコンテンツアドレス指定の識別子を追加したりするのに役立ちます。貼り付けたテキストは、ハッシュ値の計算に使うページリクエストの一部としてサーバーに送信されます。

計算ツールの使い方

  1. 1

    テキストを貼り付ける

    ファイルの内容や任意のテキストをテキストエリアにコピーします。このツールはテキスト入力のハッシュを計算するもので、ディスク上のファイルを読み取るわけではありません。

  2. 2

    計算する

    「ハッシュを計算」ボタンをクリックします。同じ入力が4つのアルゴリズムすべてで一度に処理されます。

  3. 3

    ダイジェストを読み取る

    MD5、SHA-1、SHA-256、SHA-512がすべて小文字の16進数で同時に表示され、そのままコピーできます。

  4. 4

    参照値と比較する

    各ダイジェストをベンダーが公開したチェックサムと1文字ずつ比較します。ツールはダイジェストを表示するだけで、比較はご自身で行います。

ハッシュ関数リファレンス

アルゴリズム 出力長 整合性チェックでの状態 セキュリティ用途での状態
MD5 128ビット(16進32桁) 簡易な整合性確認なら問題なし 破られている、セキュリティ用途では使用しない
SHA-1 160ビット(16進40桁) 整合性確認なら問題なし 破られている、衝突が実証済み
SHA-256 256ビット(16進64桁) 推奨される既定値 いまなお安全とされている
SHA-512 512ビット(16進128桁) 64ビット環境では高速なことが多い いまなお安全とされている

どれをいつ使うか

  • MD5:偶発的な破損(ディスク読み取りのビット反転や失敗したダウンロードなど)の検出専用です。攻撃者が一致するファイルを意図的に作成しうる場面では安全ではありません。
  • SHA-1:アップグレードできないレガシーシステム向けです。新規のものには使わないでください。
  • SHA-256:現代の標準です。あらゆるLinuxディストリビューション、あらゆるクラウドベンダー、あらゆるパッケージマネージャーがSHA-256を公開しています。
  • SHA-512:プラットフォームが64ビットハッシュのネイティブ処理に対応している場合に。出力は大きくなりますが、こうしたハードウェアではSHA-256より20-30%高速なことがよくあります。

典型的なワークフロー:ダウンロードの検証

  1. ベンダーからファイルをダウンロードします。
  2. ベンダーがリリースページで公開しているSHA-256を確認します。
  3. ファイルがテキスト形式なら、その内容をこのツールに貼り付けてSHA-256を読み取ります。バイナリファイルの場合は、ローカルのコマンドラインツール(Linuxのsha256sum、macOSのshasum、PowerShellのGet-FileHash)を使ってください。
  4. 2つの文字列を1文字ずつ比較します。
  5. 異なっていれば、ファイルは破損しているか改ざんされています。削除して、公式ミラーから再ダウンロードしてください。

よくある間違い

  • 先頭6-8桁の16進文字だけを比較すること。十分な計算資源を持つ攻撃者は、脆弱なアルゴリズムに対して短いプレフィックスの衝突を偽造できます。必ず文字列全体を比較してください。
  • ダウンロードと同じページに掲載されたハッシュを信用すること。サイトが侵害されていれば、両方とも侵害されています。リスクが高い場合は、別の経路(ベンダーの公式Twitter、署名済みのリリースノートなど)を使ってください。
  • 一致するMD5を「安全」とみなすこと。それはファイルがランダムに破損していないことを示すだけで、すり替えられていないことを示すものではありません。

よくある質問

はい。ハッシュ値の計算に使うページリクエストの一部として、テキストはサーバーに送信されます。保存はされず、ページリンクにも追加されません。

各ハッシュ関数は設計上、それぞれ異なるフィンガープリントを生成します。入力は同じでも、MD5、SHA-1、SHA-256、SHA-512はそれぞれ異なる方法でダイジェストを計算し、異なる長さの16進数を出力します。

はい、これを衝突と呼びます。MD5とSHA-1では実際に生成が可能ですが、SHA-256とSHA-512については誰も公に実証しておらず、今後数十年は起こらないと見られています。

人工的なサイズ制限はありませんが、非常に大きな貼り付けはページを遅くし、ブラウザのテキストエリアの制限に達することがあります。このツールが処理するのはテキスト入力のみです。バイナリファイルには、ファイルを直接読み取るツールを使用してください。

関連ツール

このツールは他の言語でも利用できます