EDIT:
Jezu! Zapomniałem o tej mojej starożytnej odpowiedzi. Aby wyjaśnić zamieszanie wywołane przez moją naiwność (zgodnie z komentarzem zamieszczonym poniżej): MD5 (jak większość przydatnych skrótów, ze względu na swój charakter) są nie wstrzykiwany, więc ich wydajność nie jest gwarantowana jako unikalna dla wszystkich wejść.
Jeśli kolizje haftujące są problemem (w tym przypadku są), użycie tej techniki będzie wymagało sprawdzenia, po haszowaniu, czy już został wygenerowany identyczny klucz.
Od uniqid wykorzystuje aktualny czas w mikrosekund do wygenerowania identyfikatora GUID, nie ma praktycznie żadnych szans kiedykolwiek będziesz biegać w tym samym jednym dwukrotnie.
Więc jeśli używasz go tylko do tworzenia unikalnych nazw plików, uniqid() będzie wystarczający. Jeśli chcesz uniemożliwić użytkownikom odgadywanie GUID, równie dobrze możesz go utrudnić, a także Md5.
Lubię ideę md5'ing go :) –
Ale MD5 nie robi Zachowaj wyjątkowość. – Gumbo
Jeśli md5 klucz, który jest już wyjątkowy, pozostanie unikalny. – BraedenP