MD5 ハッシュ ジェネレーター
テキストやファイルからMD5ハッシュをブラウザ上で即座に生成。無料・プライベート・アップロード不要。
テキストやファイルからMD5ハッシュをブラウザ上で即座に生成。無料・プライベート・アップロード不要。
MD5 (メッセージ ダイジェスト 5) は、1991 年に Ronald Rivest によって公開された 128 ビットの暗号化ハッシュ関数です。これは、任意の長さの入力を受け取り、決定論的 (同じ入力から常に同じハッシュが生成される) で固定の 32 文字の 16 進数出力を生成します。また、一方向であり、ハッシュだけから入力を復元することはできません。 MD5 は、暗号化目的で SHA-2 ファミリ関数に置き換えられるまで、1990 年代から 2000 年代初頭まで汎用ハッシュ関数として主流でした。
MD5 は暗号化用途では壊れています。実際の衝突攻撃 (同じハッシュを生成する 2 つの入力を見つける) は 2004 年以来実証されており、選択プレフィックス衝突は現在、汎用ハードウェアで数時間で達成可能です。パスワードのハッシュ化、デジタル署名、証明書のフィンガープリント、または耐衝突性が重要なコンテキストには MD5 を使用しないでください。 SHA-256 と bcrypt が適切な代替品です。
MD5 は、衝突耐性がセキュリティ特性ではない非暗号化チェックサムに引き続き役立ちます。たとえば、偶発的なファイル破損の検出、管理するシステムでのアップロードの重複排除、キャッシュ キーの短い識別子の生成などです。このジェネレーターは、JavaScript MD5 実装を使用してブラウザー内で完全に実行されます。デバイスからの入力はありません。
迅速なファイル整合性チェックは、依然として最も防御可能な MD5 使用例です。ダウンロード サイトがファイルと一緒に MD5 を公開すると、読者はダウンロードがそのまま到着したことを確認できます。このチェックは、悪意のある改ざんではなく、送信エラーを防御します。高度な攻撃者は、選択した MD5 に一致するファイルを作成できます。ただし、カジュアルな整合性検証には問題ありません。
MD5 は、決定的な短い識別子としても役立ちます。キャッシュ レイヤー、重複排除システム、ETag 生成では、結果が短く、計算が速く、セキュリティ以外の目的には十分であるため、コンテンツを MD5 でハッシュすることがよくあります。新しい設計では SHA-256 または xxHash を優先する必要がありますが、識別子に MD5 を使用する既存のシステムはこの役割において安全ではありません。
テキストを貼り付けるかファイルをアップロードして、32 文字の 16 進数のハッシュを取得します。
MD5 は入力を 512 ビット (64 バイト) ブロックで処理します。各ブロックは 4 ラウンドの操作を通じて 128 ビットの内部状態を更新します。各ラウンドでは、異なる非線形関数、モジュラー加算、およびビット単位の回転が適用されます。最終状態はダイジェストです。
このアルゴリズムにはパディングが必要です。入力には 1 ビット、次に 0 ビット、そして 64 ビットの長さフィールドが追加され、合計の長さが 512 ビットの倍数になります。これにより、すべての入力に長さの接頭辞が付いた一意のエンコーディングが適用されるようになります。
出力はリトルエンディアン順で 16 バイトとして解釈され、32 個の 16 進文字として出力されます。一部のツールは大文字で印刷し、一部は小文字で印刷します。値は同等です。