1. ホーム
  2. random

[解決済み] MD5が衝突を起こすまでのランダム要素の数は?

2022-04-23 05:22:20

質問

Amazon S3に画像ライブラリーを置いています。それぞれの画像について、サーバー上のソースURLとタイムスタンプをmd5して、ユニークなファイル名を得ている。S3はサブディレクトリを持つことができないので、これらの画像をすべて単一のフラットフォルダに格納する必要があります。

生成されるMD5ハッシュ値の衝突を心配する必要はありますか?

おまけ:MD5が生成するハッシュ値に衝突が発生するようになるまでに、何個のファイルを持つことができますか?

どのように解決するのか?

たった2つのハッシュが偶然に衝突する確率は 1/2 128 というのは 340分の1 アンデシリオン 282デシリオン 366ノニリオン 920オクティリオン 938セプティリオン 463セクティリオン 463クインティリオン 374クアドリリオン 607兆円 431億円 768万円 211千456円。

しかし、すべてのハッシュを保持する場合、以下の理由により、確率はもう少し高くなります。 バースデーパラドックス . あるハッシュが他のハッシュと衝突する確率を50%にするためには 2 64 をハッシュ化します。つまり、コリジョンを得るためには、平均して、ハッシュ化する必要があります。 6 ファイル 毎秒 100年分 .