何ができるか
このツールは任意のテキストの MD5 ハッシュを計算します。MD5 は 1992 年に Ronald Rivest が設計した暗号学的ハッシュ関数で、任意の長さの入力を固定長 128 ビットの値に変換し、16 進数 32 文字で表します。同じ入力からは常に同じハッシュが得られ、1 文字変えるだけでハッシュはまったく別の値になります。
使い方
- 入力欄にテキストを入力または貼り付けるか、テキストファイルをドロップするか、サンプル を押します。
- 入力に合わせて MD5 ハッシュが表示されます。
- 出力形式として 16 進数 または Base64 を選びます。比較相手のシステムが大文字を使う場合は 16 進数を大文字に をオンにします。
- 行ごとにハッシュ化 をオンにすると、多数のパスワードや ID などのリストを一度にハッシュ化できます。各行のハッシュが、出力の対応する行に表示されます。
テキストは入力したとおり、スペースや改行も含めて UTF-8 としてハッシュ化されます。ファイルの内容をハッシュ化したり他のアルゴリズムを使ったりする場合は、汎用のハッシュ生成ツールをご利用ください。
例
Input: The quick brown fox jumps over the lazy dog
MD5: 9e107d9d372bb6826bd81d3542a419d6
末尾にピリオドを 1 つ加えるだけで、ハッシュはまったく違う値になります。この「アバランシェ効果」こそが、データのどんな変化も見つけられるハッシュの有用性の源です。
MD5 の用途
MD5 は高速なチェックサムとして今も広く使われています。ダウンロードやコピーしたファイルが壊れていないかの確認、キャッシュキーや ETag、ファイルの重複排除、Content-MD5 ヘッダーなどです。誰かが一致を偽造しようとしない場面であれば問題ありません。
セキュリティ
MD5 はセキュリティ用途ではすでに破られています。2004 年以降、実用的な衝突攻撃が存在し、誰でも同じ MD5 を持つ 2 つの異なるファイルを作れます。パスワード、署名、証明書には絶対に使わないでください。セキュリティが必要なら SHA-256 を使いましょう。パスワードには bcrypt、scrypt、Argon2 のような低速なパスワードハッシュを使ってください。
よくある質問
› 入力したテキストはサーバーに送信されますか?
いいえ。MD5 ハッシュはブラウザ内で計算されるため、パスワードや鍵、非公開のテキストが端末の外に出ることはありません。
› MD5 ハッシュは復号できますか?
できません。MD5 は暗号化ではなく一方向のハッシュです。「復号できる」とうたうサイトは、よく使われる単語のハッシュ表から値を引いているだけで、短い入力やありふれた入力にしか通用しません。
› 他のツールと MD5 が一致しないのはなぜですか?
多くの場合、目に見えない文字で入力が異なっています。末尾の改行(echo は改行を付けるので echo -n を使います)、Windows の CRLF 改行、先頭のスペース、文字コードの違いなどです。このツールはテキストボックスの内容を UTF-8 バイト列としてそのままハッシュ化します。
› MD5 ハッシュの長さは?
128 ビットです。16 進数で 32 文字、Base64 で 24 文字になります。
› MD5 は安全ですか?
MD5 はセキュリティ用途ではすでに破られています。2004 年以降、実用的な衝突攻撃が存在し、誰でも同じ MD5 を持つ 2 つの異なるファイルを作れます。パスワード、署名、証明書には絶対に使わないでください。