ハッシュ値の計算
文字列やファイルから SHA-256 などのハッシュ値(チェックサム)を計算します。 配布元が公開している値を貼り付ければその場で一致判定。ファイルはアップロードされず、端末の中だけで処理します。
計算はブラウザ内で完結します。ファイルを選んでも送信されません。
使い方
アルゴリズムを選び、文字列を入力するかファイルを選ぶだけです。 確かめたい値がある場合は、照合欄に貼り付けると一致・不一致がその場で表示されます。 大文字小文字の違いや、途中のコロン・ハイフンは自動で無視します。
ハッシュ値とは
どんな長さのデータからも決まった長さの短い値を作る計算のことです。 次の性質があるため、「データが同じかどうか」を短い文字列だけで確かめられます。
- 同じ入力からは、いつでも必ず同じ値が出る
- 1ビットでも違えば、まったく別の値になる
- 値からもとのデータには戻せない
- 同じ値になる別のデータを作るのが、現実的に不可能(SHA-256の場合)
アルゴリズムの選び方
| 名前 | 長さ | 使いどころ |
|---|---|---|
| SHA-256 | 256 ビット(16進64文字) | 現在の標準。ファイルの照合や署名で最もよく使われる |
| SHA-512 | 512 ビット(16進128文字) | SHA-256 より長い。64bit環境では速いこともある |
| SHA-384 | 384 ビット(16進96文字) | SHA-512 を切り詰めた仕様。TLSの証明書などで使われる |
| SHA-1 | 160 ビット(16進40文字) | 衝突が発見済み。既存データの照合用にのみ使う |
迷ったら SHA-256 を選んでください。配布ファイルの検証で最も広く使われています。 SHA-1 は既存のデータを照合する用途にとどめ、改ざんの検出には使わないでください。
1文字変えるとどうなるか
入力をほんの少し変えただけで、出力は元の値と何の関係もない値になります。 これを雪崩効果と呼びます。上のツールで「abc」と「abd」を試すと、実際に確かめられます。
| SHA-256("abc") | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad |
|---|---|
| SHA-256(空の文字列) | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
こんなときに使う
- ダウンロードしたファイルの検証 — 配布元のチェックサムと突き合わせて、 壊れていないか・すり替えられていないかを確認する。
- 2つのファイルが同一か確かめる — 名前や日付が違っても、 値が同じなら中身は同一です。
- コピーの成否確認 — 大量のデータを移した後に、元と先で値を比べる。
- データが変わったかの記録 — 内容そのものを残さずに、変化の有無だけを追える。
使うときの注意
- ハッシュ値が一致しても「正規の配布元のものである」ことまでは保証されません。値の入手先も信頼できる必要があります。
- 文字列は UTF-8 として符号化します。末尾の改行の有無でも値は変わります。
- パスワードの保管にそのまま使わないでください。総当たりに耐える設計が別に必要です。
- ファイルは200MBまで受け付けます。大きいファイルは計算に時間がかかります。
よくある質問
選んだファイルはアップロードされますか?
いいえ。ブラウザに標準で入っている Web Crypto という機能で、端末の中だけで計算しています。ファイルの中身が外部へ送信されることはありません。
ハッシュ値からもとの文字列に戻せますか?
戻せません。ハッシュは一方向の計算で、同じ入力からは必ず同じ値が出ますが、値から入力を復元することはできません。ただし短い単語やよくあるパスワードは、あらかじめ計算した表と照合されると判明します。パスワードの保管には、専用の方式(ソルト付きの遅いハッシュ)を使ってください。
MD5 は使えますか?
使えません。ブラウザ標準の Web Crypto が MD5 に対応していないためです。MD5 は異なるデータから同じ値を故意に作れることが確認されており、改ざんの検出には使えません。SHA-256 をお使いください。
ダウンロードしたファイルが壊れていないか確かめたいのですが。
配布元がチェックサム(SHA-256の値など)を公開している場合、「ファイル」を選んで計算し、その値を照合欄に貼り付けてください。一致すれば、途中で壊れたり書き換えられたりしていないことが確認できます。
同じ文字列なのに、他のツールと値が違います。
文字コードか改行コードが違う可能性が高いです。このツールは文字列を UTF-8 として符号化します。また、テキストの末尾に改行が入っていると別の値になります。
大文字と小文字のどちらが正しいのですか?
どちらも同じ値です。16進数の表記のちがいにすぎません。照合欄では大小の違いも、途中のコロンやハイフンも無視して比べます。
関連ツール
データの符号化なら Base64 変換 と URLエンコード、 文字がどのバイト列になるかは 文字コード変換 で確認できます。 中身の違いを目で見たいときは テキスト差分、 強いパスワードを作るなら パスワード生成 をどうぞ。