Si, vous le pouvez. Les GUID ayant une longueur de 128 bits, la possibilité d'un conflit est certes infime, mais le mot "infime" est loin d'être assez fort. Il existe tant de GUIDs que si vous générez plusieurs milliers de milliards d'entre eux au hasard, vous avez toujours plus de chances d'être frappé par une météorite que d'avoir ne serait-ce qu'une seule collision (de Wikipedia ). Et si vous ne les générez pas de manière aléatoire, mais que vous par exemple en utilisant l'algorithme de l'adresse MAC et de l'horodatage, ils seront également uniques, car les adresses MAC sont uniques parmi les ordinateurs et les horodatages sont uniques sur les ordinateurs. votre ordinateur.
Edit 1 : Pour répondre à votre question bonus, la meilleure façon de tester l'unicité d'un ensemble de GUIDs est de supposer qu'ils sont tous uniques. Pourquoi ? Parce que, compte tenu du nombre de GUID que vous générez, les chances de collision de GUID sont plus faibles que les chances qu'un rayon cosmique retourne un bit dans la mémoire de votre ordinateur et bousille la réponse donnée par n'importe quel algorithme "précis" que vous voudriez exécuter. (Voir cette réponse de StackOverflow pour le calcul).
Il existe un énorme nombre de GUIDs qui existent. Pour citer la phrase de Douglas Adams Le Guide du routard de la galaxie :
"L'espace", dit-il, "est grand. Vraiment grand. Vous n'allez pas croire à quel point c'est énorme et époustouflant. Je veux dire, vous pouvez penser que c'est un long chemin jusqu'au pharmacien, mais c'est juste des cacahuètes par rapport à l'espace, écoutez "
Et comme il y a environ 7×10 22 les étoiles dans l'univers et un peu moins de 2 128 GUIDs, alors il y a approximativement 4,86×10 15 -presque cinq quadrillions -GUIDs pour chaque étoile. Si chacune de ces étoiles avait un monde avec une population prospère comme la nôtre, alors autour de chaque étoile, chaque humain ou alien qui a vécu aurait droit à plus de quarante-cinq mille GUIDs. Pour chaque personne de l'histoire et chaque étoile de l'univers. L'espace des GUID est au même niveau d'immensité que la taille de l'univers entier. Vous faites no doivent s'inquiéter.
( Edit 2 : En y réfléchissant : wow. Je n'avais pas réalisé moi-même ce que cela signifiait. L'espace GUID est incompréhensiblement massif. Je suis en quelque sorte en admiration devant lui).
2 votes
Duplication possible de Un GUID est-il unique 100 % du temps ?
33 votes
Pas si nous continuons tous à appuyer sur le bouton de rechargement sur ce site : wasteaguid.info
14 votes
Je mets tous mes bogues sur le compte des collisions GUID. Ça doit bien arriver un jour ou l'autre, non ?
9 votes
Il est beaucoup plus probable qu'un requin avec un joli motif à carreaux tombe du ciel et réduise votre ordinateur en miettes. Je pense donc que prendre des précautions contre cela est une allocation de ressources plus appropriée dans le cadre de votre plan global de réduction des risques.
4 votes
@mipadi : super lien ! Je peux imaginer un développeur quelque part se plaignant "Guuuuys ! Arrêtez de gaspiller les GUIDs ! I besoin de ceux-là !"
1 votes
@FWFD - Je dois admettre que j'ai tressailli.
0 votes
Il est plus probable que le code que vous avez écrit en 1985 soit réécrit avant votre codage L'année où deux chiffres posent un problème en 2000 qu'un GUID qui entre en collision.
1 votes
Waste a guid devrait avoir un compteur "guids left" @mipadi