La seule garantie que vous avez est que la probabilité est de votre côté. 2^128 GUID possibles et une certaine habileté dans le processus de création rend très peu probable que vous verriez jamais un doublon.
Il semble que V4 est maintenant le GUID standard sous Windows. Si celui-ci est purement basé sur un générateur de nombres pseudo-aléatoires, comme Wikipedia semble l'indiquer, il est affecté par le Birthday problem.
J'ai vu plusieurs exemples utilisant 128 bits pour montrer qu'une copie est presque impossible. Ceux-ci manquent souvent deux choses. Le problème d'anniversaire et qu'un GUID V4 est en réalité 124 bits.
Vous avez besoin de 1/2+sqrt(1/4-2*2^124*ln(0,5)) ≈ 5.4*10^18
GUID pour obtenir 50% de chances d'un doublon. C'est encore beaucoup, mais 50% peut ne pas être l'affaire que vous recherchez. Supposons que vous voulez qu'il y en ait un sur un million pour obtenir un doublon, alors vous pouvez avoir sqrt(2*2^124*ln(1/(1-0,000001)))
≈ 6,5 * 10^15 GUID. Si vous créez un millier de GUID par seconde, vous pouvez continuer à le faire pendant près de 206667 ans avant d'avoir un risque de duplication de un à un million. 6,52191054316287e15/(3600*24*365,25*1000) ≈ 206666,874006986
La probabilité que tous ces calculs soient corrects → 0.
cela pourrait aider: http://stackoverflow.com/questions/39771/is-a-guid-unique-100-of-the-time – Reza