Duplication of uniqid in PHP with high concurrency
The most recent project has been useful to generate token validation issues. First consider using PHP's uniqid () function to generate a random string, but since the function seems to be based on the microsecond time level. In the case of high concurrency, it is possible to generate the same value.
Solution 1:uniqid (rand (1,10000)), the first parameter of the function can be used as a prefix for the number of builds, thus greatly reducing the repetition rate of the build number. But the possibility of repetition is still there.
Solution 2:md5 (Uniqid ()), use the MD5 () function to generate an absolutely unique value
-
1 floor Ranxiedao53 minutes ago
-
Before doing the back end of the time also found this problem, a short period of time quickly generated when the repetition rate is very high, or even reached 20%, so write their own method of generation, the array of letters randomly generated, such as the generation of 8-bit, so that the probability of repetition is much lower than the PHP self-brought, feel this method is a pit Random seed generators and time-dependent