使い方
- 「テキスト」を選んでテキストを入力または貼り付けるか、「ファイル」を選んでファイルを選択またはドロップします。
- MD5、SHA-1、SHA-256、SHA-384、SHA-512の値を確認します。小文字の16進数、大文字の16進数、Base64を切り替えられます。
- ダウンロードを検証するには、提供元が公開しているチェックサムを比較欄に貼り付けます。一致したアルゴリズムが強調表示されます。
- ハッシュを個別にコピーするか、「すべてコピー」でアルゴリズム名を含むすべてのハッシュをコピーします。
仕組み
ハッシュ関数は、どんな入力からも固定長の指紋を生成します。同じ入力からは常に同じハッシュが生成され、1ビットでも変わると結果は大きく変化します。そのため、ファイルが破損や改ざんなしにダウンロードされたかどうかの確認に役立ちます。
SHA-1、SHA-256、SHA-384、SHA-512は、ブラウザーに組み込まれたWeb Crypto APIで計算されます。MD5はWeb Cryptoでは利用できないため、このページではRFC 1321に準拠した独自の実装を使用し、標準テストベクトルで検証しています。ハッシュ計算の前にテキストはUTF-8のバイト列に変換されるため、「é」は2バイトとして処理されます。また、末尾の空白や改行があると結果が変わります。
MD5とSHA-1は、セキュリティ用途では安全ではありません。研究者が、異なる入力から同じハッシュを生成できる衝突を作成できます。偶発的な破損の検出や、提供元が公開しているチェックサムとの照合には引き続き使えますが、署名や証明書には使用しないでください。パスワードの保存に通常のハッシュを使用しないでください。代わりに、Argon2、scrypt、bcryptなどの低速なパスワードハッシュを使用してください。
最大200 MBのファイルをメモリーに読み込みます。MD5はページの応答性を保つため、短い休止を挟みながら分割して計算し、進捗メッセージを表示します。非常に大きなファイルでは、スマートフォンで数秒かかることがあります。
使用例
ダウンロードしたISOの検証
LinuxのダウンロードページにSHA-256チェックサムが掲載されています。「File」を選択し、.isoファイルをドロップして、公開されている値を比較欄に貼り付け、「Match: … SHA-256」と表示されることを確認します。一致しない場合、ファイルが不完全か、正規のファイルではない可能性があります。
よく知られたテスト値
テキスト「abc」のMD5ハッシュは900150983cd24fb0d6963f7d28e17f72、SHA-256ハッシュはba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015adです。ほかのツールでも同じ結果になるか確認する際に使えます。
HTTPヘッダー用のBase64
Subresource Integrityや一部のAPIでは、16進数ではなくBase64形式のSHA-256またはSHA-384ハッシュが必要です。出力形式をBase64に切り替え、SHA-384の値をコピーしてください。
よくある質問
同じテキストなのに、別のツールとハッシュ値が異なるのはなぜですか?
多くの場合、末尾の改行、Windowsの改行コード(CRLF)、異なるテキストエンコーディング、先頭の空白など、目に見えない違いがあります。このツールは入力欄の内容をUTF-8のバイト列としてそのままハッシュ化します。
ハッシュを逆算して元のテキストを取得できますか?
いいえ。ハッシュ関数は一方向です。ただし、短い入力やよく使われる入力は、推測を試すことで見つかる場合があります。そのため、パスワードには通常のハッシュではなく、ソルト付きの低速なパスワードハッシュアルゴリズムが必要です。
MD5は今でも安全に使えますか?
セキュリティ用途では使えません。MD5とSHA-1では意図的に衝突を作成できるため、悪意のある改ざんを防ぐ目的には使用しないでください。偶発的な破損の整合性チェックには引き続き使えますが、SHA-256を使うのがおすすめです。
ファイルはアップロードされますか?
いいえ。ファイルはブラウザーのFile APIで読み込まれ、このタブ内でハッシュ化されます。サーバーには何も送信されず、ページの読み込み後はオフラインでも利用できます。
ハッシュを計算できるファイルの最大サイズは?
200 MBです。ファイル全体をメモリに読み込むため、大きなファイルではスマートフォンや古いコンピューターのメモリが不足することがあります。さらに大きなファイルには、sha256sumやcertutilなどのコマンドラインツールをご利用ください。
プライバシー
テキストとファイルはブラウザー内でハッシュ化され、アップロードされません。入力内容やハッシュは保存されず、アナリティクスにも送信されません。ツールが使用されたことを示す匿名イベントのみが記録されます。