PHP có hàm uniqid() tạo ra UUID loại.Tại sao MD5'ing một UUID không phải là một ý tưởng tốt?
Trong ví dụ sử dụng, nó cho thấy như sau:
$token = md5(uniqid());
Nhưng trong các ý kiến, someone says this:
Tạo một MD5 từ một ID duy nhất là ngây thơ và làm giảm nhiều giá trị của ID duy nhất, cũng như cung cấp độ nghiêm trọng đáng kể (có thể tấn công) trên miền MD5. Đó là một điều sâu sắc bị hỏng để làm. Cách tiếp cận chính xác là sử dụng ID duy nhất trên riêng của nó; nó đã được thiết kế cho không va chạm.
Tại sao điều này đúng, nếu có? Nếu một băm MD5 là (gần như) duy nhất cho một ID duy nhất, sau đó những gì là sai từ md5'ing một uniqid?
Trong thực tế, điều này tệ hơn, bởi vì UUID là duy nhất, trong khi băm MD5 của UUID thì không. –