MD5ハッシュ計算機

MD5 (RFC 1321で定義されたメッセージダイジェストアルゴリズム5)の128ビット/16バイトのメッセージダイジェストを、16進数でエンコードされたテキスト文字列から生成します。MD5は安全なハッシュ関数として使用されなくなったため、代わりにSHA-2またはSHA-3ファミリのアルゴリズムを使用する必要があります。

MD5ハッシュ:

関連ツール

MD5ハッシュについてもっと

MD5 は任意長のメッセージを入力として受け取り、128 ビットの固定長メッセージダイジェストを生成する暗号学的ハッシュ関数です。MD5 ハッシュを生成するためのプロセスは、次の手順で構成されます。

  1. パディング:メッセージは、512ビットの倍数になるようにパディングされます。パディングは、結果のパディングされたメッセージが、次の512ビットの倍数よりも少なくとも64ビット短くなるように行われます。

  2. メッセージ処理:パディングされたメッセージは512ビットブロックに分割され、MD5圧縮関数が各ブロックに順番に適用されます。圧縮関数は、128ビットメッセージダイジェストと512ビットメッセージブロックを入力として取り、新しい128ビットメッセージダイジェストを生成します。

  3. 初期化:最初のブロックを処理する前に、MD5ハッシュ関数は4つの32ビットワード、A、B、C、Dで128ビット状態バッファーを初期化します。

  4. ラウンド処理:圧縮関数はメッセージの各ブロックに適用され、各ブロックの処理後に状態バッファーが更新されます。圧縮関数は4つのラウンドから構成され、各ラウンドは16個の操作で構成されます。各操作は、ビット単位の論理操作、2^32のモジュロ加算、および状態バッファーの円形シフトが含まれます。

  5. 出力:すべてのブロックを処理した後、128ビットメッセージダイジェストは、状態バッファーの4つの32ビットワードをA、B、C、Dの順に連結することで取得されます。

MD5ハッシュ関数は、一方向関数として設計されています。これは、同じハッシュ値を生成する2つの異なるメッセージを計算上見つけることが困難であることを意味します。このプロパティは、元のデータのハッシュ値と受信したデータのハッシュ値を比較することで、データの完全性を検証するのに役立ちます。ただし、MD5は現在、設計上の既知の弱点により暗号化目的に安全ではないと見なされており、新しいアプリケーションにはより安全なハッシュ関数、たとえばSHA-2およびSHA-3が推奨されます。