SHA-1 ファイルチェックサム計算ツール
任意のファイル(大きなファイルも可)の SHA-1 チェックサムをローカルで計算し、公開されているハッシュと照合してダウンロードを検証します。無料でプライベートです。
ファイルがまだ選択されていません。ファイルを選ぶとすぐにチェックサムが表示されます。
ファイルはブラウザー内で分割して読み込まれ、アップロードされることはありません。
SHA-1 ファイルチェックサムとは?
このツールは、選んだファイルの SHA-1 チェックサム(160ビットのダイジェスト)を計算し、期待値と照合します。ファイルはブラウザー内で4 MB ずつ読み込まれるため、大きなファイルも扱え、アップロードは一切行われません。
SHA-1 ファイルチェックサムの使い方
- ドロップゾーンをクリックするか、ファイルをドラッグ&ドロップします。ファイルは分割して読み込まれ、進捗バーが表示されます。
- 下に表示される ファイル名 と ファイルサイズ を見て、正しいファイルを選んだか確認します。
- 配布元が公開しているチェックサムを 期待されるチェックサム(任意) に貼り付けると、一致 または 不一致 が表示されます(大文字・小文字、
0x、末尾のファイル名は無視されます)。 - 大文字の16進や Base64 が必要な場合は 出力形式 を選び、コピー をクリックします。
例
A file named hash-abc.txt containing the 3 bytes "abc" (no newline)
a9993e364706816aba3e25717850c26c9cd0d89d
この値(大文字・小文字は問いません)を期待されるチェックサムに貼り付けると、一致と表示されます。
SHA-1 ファイルチェックサムを使うべき場面
配布元が SHA-1 チェックサムを掲載しているときに、ダウンロード、バックアップ、コピーしたファイルが無事かを確認したり、ファイルを転送する前にチェックサムを記録したりするのに使います。SHA-1 が一致すれば、ファイルが偶然壊れていないことは分かりますが、SHA-1 は破られているため、誰かが改ざんしていないことの証明にはなりません。SHA-256 のチェックサムや署名が提供されている場合は、そちらを優先してください。ファイルではなく短い文字列をハッシュ化するには、SHA-1 テキストハッシュ生成ツールを使います。
SHA-1 ファイルチェックサムの仕組み
ファイルは File API で4 MB ごとに分割され、各部分が逐次型の SHA-1 ハッシャーに渡されます。そのためメモリ使用量は小さく、進捗バーも表示できます。SHA-1 は、メッセージの後ろに1ビットの 1、0、64ビットのビッグエンディアンの長さを付けて512ビットの倍数にパディングします。各ブロックは80ワードに拡張され(1ビットの回転を伴います)、80ステップにわたって、回転、加算、Ch・Parity・Maj 関数を使い、5つの32ビット状態ワードに混ぜ込まれます。この5ワードをビッグエンディアンで並べたものが、160ビット(16進40文字)のダイジェストです。期待されるチェックサムとの比較はダイジェストのバイト列で行うため、16進の大文字・小文字と Base64 のどちらも使えます。
一般的な使用例
- ダウンロードページのチェックサムと照合して、ISO、インストーラー、ファームウェアイメージを検証する
- USB ドライブ、NAS、クラウドストレージにコピーしたファイルが、ビット単位で同一であることを確認する
- リリース成果物を公開する前に、SHA-1 チェックサムを記録する
- 名前の異なる2つのファイルの内容が同一かどうかを調べる
- 古いアーカイブにある SHA-1 リストとファイルを照合する
セキュリティ注意事項
SHA-1 は衝突耐性が破られています。 SHAttered(2017年)や Shambles(2020年)の攻撃により、実際に衝突する PDF や選択プレフィックス衝突が作られました。ブラウザーや認証局は、もう SHA-1 証明書を受け付けません。従来システムとの互換性(Git のオブジェクト ID、古いチェックサムなど)のためだけに使い、セキュリティに関わる用途には SHA-256 や SHA-3 を使ってください。チェックサムが整合性を証明できるのは、期待値が信頼できる経路から得られたものである場合だけです。ファイルを差し替えられる攻撃者は、通常その横に表示されたチェックサムも差し替えられます。ファイルがブラウザーの外に出ることはありません。
よくある質問
ファイルはサーバーにアップロードされますか?
いいえ。ファイルはブラウザーの File API で読み込まれ、お使いの端末上で JavaScript/WebAssembly によってハッシュ化されます。ページの読み込み後はインターネットを切断しても動作します。
ファイルの大きさに上限はありますか?
ファイルは4 MB ずつ処理されるため、制限になるのはメモリではなく主に時間です。数 GB のファイルも処理でき、速度は端末の性能によります。
SHA-1 が公開されている値と一致しません。どうすればよいですか?
まず、同じアルゴリズムと同じファイル(途中までしかダウンロードされていないものではなく)を比べているか確認してください。それでも値が異なる場合は、公式の配布元からファイルをダウンロードし直してください。不一致が続く場合は、ファイルが壊れているか、配布元が公開したものとは別のファイルです。
期待されるチェックサムには何を貼り付けられますか?
大文字または小文字の16進値(0x の有無は問いません)、Base64 形式、または <hash> filename のようなチェックサムファイルの1行をそのまま貼り付けられます。比較されるのは最初の単語だけです。