セキュリティを整える
中級ハッシュを整える。
= 文章やファイルの「指紋」(ハッシュ値)を作って改ざん・破損を確かめる
ハッシュが初めての方は、先に そもそもハッシュとは・どんな場面で使うか をどうぞ。
アニメで見る — ハッシュのしくみ 開くと1ステップずつ動きます
入力
文章・ファイル
ハッシュ関数
SHA-256
ハッシュ値
固定長の指紋
配布元
公式サイト
あなた
手元で計算
STEP 1
※ イメージ図です。下の入力欄で、実際の文章・ファイルのハッシュを計算できます。
計算中… 最も広く使われる標準。これを選んでおけば間違いなし。
計算中… 旧世代。衝突攻撃が知られており新規の署名用途には非推奨。
計算中… SHA-512 の切り詰め版。より長いダイジェストが要るとき。
計算中… 64bit環境で高速。最長クラスのダイジェスト。
計算中… 整合性チェック向け(暗号用途には非推奨)。
入力が1文字変わると激変(アバランシェ効果)
上の入力の SHA-256 と、末尾に1文字だけ足したときの SHA-256 を並べました。違うところを赤で示します。
もっと中を見たい方へ
SHA-256 の中身を1手ずつ
文字をビットに直し、64 回の混ぜ作業を経て 64 桁の値になるまでを、1手ずつ動かして確かめられます。計算はすべてこのブラウザの中で行い、入力は送信されません。
そもそもハッシュとは
データから作る、短い「指紋」のような値。
ハッシュ(ハッシュ値)は、文章やファイルなどのデータを決まった計算にかけて作る、短い文字の並びです。正式にはハッシュ関数と呼び、SHA-256 や MD5 などの種類があります。元のデータが大きくても、出てくる値の長さは決まっています。
たとえるなら、本の内容を要約した「指紋」です。同じ本からは必ず同じ指紋ができ、1文字でも違えば別の指紋になります。ただし、指紋から本の中身を復元することはできません。
どこで・どんな場面で使うか
-
ダウンロードしたファイルを確かめるとき
配布元が公開しているハッシュ値と、手元のファイルから計算した値を比べて、壊れていないか・すり替えられていないかを確認します。
-
サービスがパスワードを保存するとき
パスワードそのものではなく、そのハッシュ値を保存します。データベースが漏れても、すぐには元の文字が分からないようにするためです。
-
Git でソースコードを管理するとき
Git は、コミットやファイルの識別にハッシュ値を使っています。コミットの長い英数字は、その一種です。
-
電子署名や証明書の仕組みの中
文書にそのまま署名するのではなく、まずハッシュ値を作って、それに署名する方式が使われます。サイトの https の裏側にも関わっています。
-
同じデータが入っていないか調べるとき
大きなファイル同士を中身まで比べる代わりに、ハッシュ値を比べれば素早く見分けられます。重複の整理やバックアップで役に立ちます。
知らないと何が困るか
- 「ハッシュ化」と「暗号化」を混ぜてしまう。暗号化は鍵があれば元に戻せますが、ハッシュは元に戻せません。目的が違うので、選び間違えると守れません。
- 古い方式を安心だと思ってしまう。MD5 や SHA-1 は、意図的に同じ値のデータを作れること(衝突)が確認されており、改ざんの検知には向きません。
- 確かめずにファイルを入れてしまう。配布元の公式ページで公開された値と照合する習慣がないと、すり替えに気づけません。
上のツールで文字を1文字だけ変えて、ハッシュ値がどう変わるか見てみてください。
ハッシュの仕組み・4つ
「指紋」は作れても、指紋から人は復元できない。
- 1
一方向(元に戻せない)
ハッシュは「入力 → 値」は一瞬で計算できますが、「値 → 入力」は計算できません。料理から材料を完全に復元できないのと同じ。だから値が漏れても元データはバレません。
- 2
同じ入力→必ず同じ出力/1文字違えば全く別の値
同じ文字なら、いつ・誰が・どの端末で計算しても必ず同じ値になります。逆に1文字でも違えば値は予測不能に激変(アバランシェ効果)。上のデモで体感できます。
- 3
パスワードは平文で保存しない
まともなサービスはパスワードをそのまま保存せず、ハッシュ+ソルト(人ごとに違う追加文字)+ bcrypt / Argon2 等で保存します。漏れても元のパスワードを割り出しにくくするため。生の SHA-256 を1回かけるだけでは総当たりに弱いので、専用の方式を使います。
- 4
配布ファイルの SHA-256 照合で改ざん検知
ソフトの配布元が載せている SHA-256 と、手元でダウンロードしたファイルの SHA-256 が一致すれば、転送中に壊れたり差し替えられたりしていないと確認できます。上のファイル欄に貼って試せます。
⚠ MD5 / SHA-1 の注意
MD5 と SHA-1 は「別の入力なのに同じ値(衝突)」を意図的に作れることが知られています。パスワード保護や電子署名など、なりすましを防ぐ用途には使わないでください。転送ミスや破損の検知(整合性チェック)には今も実用上問題ありません。迷ったら SHA-256 を。
🔒 計算はすべてあなたのブラウザの中(Web Crypto API と純JavaScript)で完結します。入力した文字もファイルもサーバには送られません(送信ゼロ)。
このツールについて
文章やファイルから「指紋」のような短い値(ハッシュ)を作る道具です。1文字でも変えると値がガラッと変わるので、ダウンロードしたファイルが壊れていないか・改ざんされていないかを確かめられます。入力はこの端末から一切出ません(送信ゼロ)。
文字やファイルから「指紋」=ハッシュ値を作る道具。SHA-256(おすすめ)他に対応し入力するそばから更新。ファイルをドラッグ&ドロップして公式値と照合すれば改ざん・破損が分かる。すべてブラウザ内(送信ゼロ)。
🔰 かんたんに言うと
データの「指紋」を作るツールです。同じ内容なら同じ指紋になり、ファイルの改ざん・破損チェックに使えます。
主な機能
- テキストの SHA-256/SHA-1/SHA-384/SHA-512/MD5 をリアルタイム計算
- ファイルのドラッグ&ドロップ → SHA-256・MD5(改ざん・破損チェック)
- 公式 SHA-256 を貼って一致/不一致を即判定
- 各ハッシュにコピーボタンとビット長表示
- 計算はすべてブラウザ内(Web Crypto)で完結・送信ゼロ
よくある質問
Q. ハッシュ値とは何ですか?
A. 文章やファイルから計算される、固定長の「指紋」のような短い値です。同じ入力からは必ず同じ値が出ますが、入力が1文字でも違えば全く別の値になります。元のデータに戻すことはできない一方向の変換です。
Q. 入力した文字やファイルはどこかに送信されますか?
A. いいえ。計算はすべてあなたのブラウザの中(Web Crypto API と JavaScript)で完結し、入力もファイルもサーバには一切送られません(送信ゼロ)。機密情報のハッシュ化にも安心して使えます。
Q. どのアルゴリズムを使えばよいですか?
A. 迷ったら SHA-256 を選んでください。現在もっとも広く使われる標準で、ファイル照合にも署名にも適しています。SHA-384 / SHA-512 はより長いダイジェストが必要な場合に使います。
Q. MD5 や SHA-1 は使ってはいけないのですか?
A. ダウンロードの破損や転送ミスを見つける整合性チェックには今も実用的です。ただし「別の入力なのに同じ値(衝突)」を意図的に作れるため、パスワード保護や電子署名などなりすましを防ぐ用途には使わないでください。
Q. ダウンロードしたファイルが本物か確かめられますか?
A. はい。ファイル欄にドラッグ&ドロップして表示される SHA-256 を、配布元の公式サイトに載っている SHA-256 と見比べてください。一致すれば転送中に壊れたり差し替えられたりしていない証拠になります。期待値の入力欄に貼れば自動で一致判定します。
Q. パスワードをこのツールでハッシュ化して保存すれば安全ですか?
A. いいえ。安全なパスワード保存には、ハッシュにソルト(利用者ごとに違う追加文字)を混ぜ、bcrypt や Argon2 といった専用の方式を使う必要があります。生の SHA-256 を一度かけるだけでは総当たり攻撃に弱いため、本ツールの値をそのまま保存用に使うのは避けてください。
Q. 同じ文字を入れたのに、別のサイトの結果と値が違います。なぜですか?
A. 文字コード(UTF-8 かどうか)や、末尾の改行・空白の有無で値は変わります。本ツールは入力を UTF-8 として計算します。改行コード(CRLF/LF)の違いでもハッシュは別物になるため、比較する両者の条件を揃えてください。
入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。
続けて整える
このツールの解説記事
この内容は、研修でも扱っています
totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。