PHP ma funkcję uniqid(), która generuje identyfikatory UUID.Dlaczego MD5'ing UUID nie jest dobrym pomysłem?
W przykładach użytkowania, pokazuje następujący:
$token = md5(uniqid());
Ale w komentarzach, someone says this:
Generowanie MD5 z unikalnym ID jest naiwny i zmniejsza znacznie od wartość unikalnych identyfikatorów, a także zapewnienie znaczącego (możliwego do zaatakowania) ograniczenia na domenie MD5 w domenie . To jest głęboko zepsuta rzecz. Prawidłowe podejście polega na użyciu unikalnego identyfikatora na własnym komputerze; jest już przystosowany do braku kolizji .
Dlaczego to prawda, jeśli tak? Jeśli skrót MD5 jest (prawie) unikalny dla unikalnego identyfikatora, to co jest nie tak z md5'ing z uniqid?
W rzeczywistości jest gorzej, ponieważ identyfikatory UUID są unikalne, podczas gdy skróty MD5 identyfikatorów UUID nie są. –