入力テキストを UTF-8 として MD5 でハッシュ化し、128ビットのダイジェストを32文字の16進数で返します。MD5 を要求するチェックサム、テストデータ、レガシーシステムで使えます。結果が異なる場合は、大文字小文字・空白・文字コード・改行形式を含め、実際の入力を確認してください。以下の例では abc、末尾に LF 改行を付けた入力、中国語の 中文 を個別に検証できます。
MD5は決定的で一方向のハッシュですが、セキュリティ用途に必要な耐衝突性は不足しています。パスワード、署名、改ざん防止には使わず、現代的なハッシュまたはパスワードハッシュ方式を選んでください。
このテーマに関するよくある疑問と回答をまとめました。
MD5は128ビットのハッシュ関数で、32文字の16進数文字列を生成します。チェックサムやデータ整合性の検証に一般的に使用されます。
MD5はパスワードハッシュや暗号用途としては安全とは見なされていません。パスワード以外の整合性確認にはSHA-256を使い、パスワード保存にはbcrypt、scrypt、Argon2などのパスワードハッシュ方式を使ってください。
いいえ、ハッシュ関数は一方向です。ハッシュから元の入力を導き出すことはできません。
いいえ、MD5ハッシュの計算はすべてブラウザ内で完結します。入力テキストはJavaScriptでローカル処理され、サーバーに送信されることは一切ありません。
例のハッシュは読みやすさのため8文字ずつ空白で区切っています。比較するときは空白を除いてください。末尾に改行を付けない abc の結果は 90015098 3cd24fb0 d6963f7d 28e17f72 です。同じ文字列に LF 改行を1つ付けると 0bee89b0 7a248e27 c83fc3d5 951213c1 になります。改行も入力バイト列の一部です。他のツールでは LF の代わりに CRLF を使う場合があります。比較前に実際のテキスト・空白・大文字小文字・改行形式を確認してください。
UTF-8 を使用します。引用符・空白・末尾の改行を含めずに 中文 の2文字を入力すると、MD5 は a7bac223 9fcdcb3a 067903d8 077c4a07 になります。読みやすさのため8文字ずつ空白で区切っているので、比較時は空白を除いてください。外部システムが Big5、GBK など別の文字コードを使うとバイト列が変わります。見た目の文字が同じでも入力バイト列が同じとは限りません。
ファイルのチェックサムは元ファイルのバイト列を計算し、本ツールはテキストを UTF-8 として計算します。両者のバイト列が完全に同じ場合だけ一致します。バイト順マーク (BOM)、別の文字コード、改行形式の違いで結果が変わることがあります。デコード済みテキストの貼り付けでは任意のバイナリファイルの元のバイト列を保持できません。ファイルのチェックサムを照合するには、元ファイルのバイト列を直接読むツールを使ってください。