使い方
- 上の欄にテキストを入力すると、入力と同時にMD5・SHA-1・SHA-256・SHA-512の4種類のハッシュ値を計算します。
- 「大文字で表示」で16進表記の大文字/小文字を切り替えられます。値自体は変わりません。
- ファイルのハッシュを確認したいときは「ファイルを選択」からファイルを選ぶと、同じ4種類を計算します。大きいファイルは計算に数秒かかることがあります。
- 各行のコピーボタンで、その行のハッシュ値だけをクリップボードにコピーできます。
仕組み・根拠
SHA-1・SHA-256・SHA-512は、ブラウザ標準のWeb Crypto API(crypto.subtle.digest)で計算しています。アルゴリズムの仕様はNISTのFIPS 180-4に定義されており、ブラウザ実装はこれに準拠しています。MD5はWeb Crypto APIの対象外(提供されていない)ため、RFC 1321の仕様に沿ってこのツール内でJavaScriptから実装しました。実装の正しさは、MD5("")、MD5("abc")、SHA-256("abc")の既知のテストベクタと照合して確認しています。テキストはUTF-8のバイト列に変換してからハッシュ関数に渡すため、同じ文字列でも改行コードや全角/半角の違いがあれば別の値になります。
現場の落とし穴:MD5・SHA-1は「衝突」(異なる入力から同じハッシュ値が作れてしまう)が実際に発見されており、電子署名や改ざん検知には不向きです。とくにMD5・SHA-1でパスワードを保存するのは危険です。高速計算に最適化された設計のため総当たり攻撃(ブルートフォース)に弱く、NIST SP 800-63Bもパスワード保存には計算コストを意図的に高くした専用アルゴリズム(bcrypt、Argon2など)の使用を求めています。ダウンロードファイルの破損チェックなど「衝突耐性が不要な用途」に限ってMD5/SHA-1を使うのが無難です。
よくある質問
Q. 同じテキストなのに以前と違うハッシュ値になりました。なぜですか?
A. 末尾の改行や全角スペースなど、目に見えにくい文字の違いが原因のことが多いです。UTF-8のバイト単位で1ビットでも異なれば、ハッシュ値はまったく別の値になります。
Q. 入力したテキストやファイルはサーバーに送られますか?
A. いいえ。計算はすべてブラウザ内のJavaScriptで行い、外部への送信は一切ありません。
Q. どのアルゴリズムを使えばよいですか?
A. 新規の用途で改ざん検知や署名に使うならSHA-256かSHA-512を推奨します。MD5・SHA-1は互換性維持や衝突耐性が不要な用途にとどめてください。
関連ツール
最終更新・根拠の確認日: 2026-09-10 · カテゴリ: セキュリティ