2011-03-06 1 views
0

Я имею дело с загрузкой изображений, и мне бы хотелось, чтобы некоторые предложения по именованию файлов и папок. В настоящее время я генерации имени файла, используя следующие:MD5 uuid collision?

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

что выдает что-то вроде:

e89ae1857038d0e5d0f8092e6c5390b91

Я тогда принимать первые 3 символа этого имени файла для генерации папки. Который будет что-то вроде:

/е/8/9

Так заканчивается существо:

/е/8/9/e89ae1857038d0e5d0f8092e6c5390b91

Я используя md5, чтобы он несколько равномерно распределял файлы по папкам. Это хороший uuid? Есть ли вероятность столкновения?

Заранее спасибо.

ответ

1

С любым хешем, есть вероятность столкновения. Если вы думаете об этом, хэш принимает бесконечное количество входов и превращает его в конечное число выходов.

+0

Даже если я добавляю инкрементный идентификатор пользователя в конце? – RS7

+0

Если ваши идентификаторы пользователя уникальны, конфликт не будет таким. – schnaader

+0

Ах. Я думал, что ваш идентификатор пользователя был * внутри * круглых скобок. Нет, вы никогда не должны столкнуться, тогда, по определению. – anon