web-dev-qa-db-ja.com

MD5入出力の最大長

Md5をハッシュできる文字列の最大長は?または:制限がない場合、およびその場合、md5出力値の最大長は何になりますか?

152
Arun David

MD5は、任意の長さのメッセージを処理して、通常32ビットの16進数のシーケンスとして表される128ビットの固定長出力に変換します。

213
Daniel Vassallo
  • メッセージの長さは 無制限 です。

長さを追加

Bの64ビット表現(パディングビットが追加される前のメッセージの長さ)は、前のステップの結果に追加されます。まれに、bが2 ^ 64より大きい場合、bの下位64ビットのみが使用されます。

  • ハッシュは常に128ビットです。 16進文字列としてエンコードする場合、1文字あたり4ビットをエンコードして、32文字にできます。
  • MD5は暗号化ではありません。一般に、MD5ハッシュを「解読」して元の文字列を取得することはできません。

詳しくは こちら をご覧ください。

36
Mark Byers

長さは任意ですが、文字列の入力が長すぎる場合は、コンピューターでメモリの問題が発生する可能性があります。出力は常に32文字です。

9
Vidar Vestnes

このアルゴリズムは、任意の入力長をサポートするように設計されています。つまり、DVDのISOのような大きなファイルのハッシュを計算できます...

入力に制限がある場合、ハッシュ関数が使用されている環境から入力される可能性があります。ファイルを計算したいが、環境にMAX_FILEの制限があるとします。

ただし、出力文字列は常に同じです:32 hex chars(128 bits)!

6
Kami

128ビットMD5ハッシュは、32桁の16進数のシーケンスとして表されます。

4
Hamid Nazari

MD5は壊れていると見なされるため、 MD5 の代わりに SHA-1 を使用できます。

このウィキペディアの記事 でMD5の脆弱性について詳しく読むことができます。

3
enam

私が知っているmd5の入力に制限はありません。一部の実装では、入力全体をmd5関数に渡す前にメモリにロードする必要があります(つまり、実装はストリームではなくメモリブロックで動作します)が、これはアルゴリズム自体の制限ではありません。出力は常に128ビットです。 md5は暗号化アルゴリズムではなく、暗号化ハッシュであることに注意してください。つまり、これを使用してデータのチャンクの整合性を検証できますが、ハッシュを元に戻すことはできません。また、md5は破損していると見なされるため、セキュリティ関連のものには使用しないでください(ダウンロードしたファイルなどの整合性を検証しても問題ありません)。

3
tdammers