2011-03-06 10 views
0

私は画像のアップロードを扱っています。ファイルとフォルダに名前を付けることについていくつか提案したいと思います。現在、私は次のように使用してファイル名を生成している:私はその後、生成する、そのファイル名の最初の3つの文字を取るMD5 uuid collision?

e89ae1857038d0e5d0f8092e6c5390b91

md5(microtime()) . $this->user_id 

のようなものを出力しますフォルダ。

/E/8月9日

だから、それがされて終わる::私は

/E/8/9/e89ae1857038d0e5d0f8092e6c5390b91

をのようなものになります md5を使用して、フォルダ間でファイルをやや均等に配布します。それは良いuuidですか?衝突の可能性はありますか?

ありがとうございます。

答えて

1

ハッシュを使用すると、衝突する可能性があります。それについて考えると、ハッシュは無限の数の入力を受け取り、それを有限数の出力に変換します。

+0

最後にユーザーIDを増やしていますが – RS7

+0

ユーザーIDが一意の場合、そのように衝突することはありません。 – schnaader

+0

ああ。私はあなたのユーザーIDが*カッコ内にあると思った。いいえ、決して衝突することはありません。 – anon