Probability of duplicate GUID

$\begingroup$

A GUID (globally unique identifier) is a 32 character hexadecimal string:

If you randomly generate 2, the chance of them being the same is incredibly small.

But what if you generate 1,000,000, what are the chances there is 1 or more duplicates in those 1,000,000?

What about 10,000,000, or 100,000,000 or even 1 billion? Each new GUID has a chance to match all those previously inserted into the set.

Graphs!

Thanks to Rawlings answer we have the following graphs:

enter image description here

enter image description here

enter image description here

$\endgroup$

1 Answer

$\begingroup$

Take a look at the Wikipedia article on the Birthday Problem.

In summary, if you have $n$ possible values (here, $2^{128}$) and you take $k$ values at random, there is probability

$$ \frac{k!{n \choose k}}{n^k} $$

of NOT having a collision.

(These are very large numbers to deal with, but that article has a section on approximations that might be useful.)

Here is an example of a graph of the probability of a GUID collision occurring against number of GUIDs generated, plotted using Wolfram Alpha and the second approximation suggested by Didier Plau below.

$\endgroup$ 13

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like