Qu'est-ce qu'un UUID ou GUID ?
Un UUID (Universally Unique Identifier), également appelé GUID (Globally Unique Identifier) dans l'écosystème Microsoft, est un identifiant unique standardisé sur 128 bits. Il est généralement représenté par 32 caractères hexadécimaux, séparés par 4 tirets sous la forme 8-4-4-4-12 (exemple : 550e8400-e29b-41d4-a716-446655440000).
Pourquoi utiliser un UUID v4 dans une base de données ?
Historiquement, les bases de données (comme MySQL ou PostgreSQL) utilisent un entier auto-incrémenté (1, 2, 3...) comme clé primaire (ID). Bien que performant, cela pose un risque de sécurité majeur : n'importe qui peut deviner l'URL d'un utilisateur ou d'une facture en modifiant simplement le chiffre dans la barre d'adresse (ex: /facture/12 remplacé par /facture/13).
L'UUID version 4 est généré de manière totalement aléatoire. Il est impossible à deviner, ce qui protège efficacement les ressources de votre API et de vos applications web (ID non séquentiel).
Y a-t-il un risque de créer deux fois le même UUID ? (Collision)
La probabilité de générer deux UUID v4 identiques (une collision) est si proche de zéro qu'elle est considérée comme mathématiquement négligeable. Le nombre de combinaisons possibles est de 2^122 (soit environ 5,3 × 10^36). Pour avoir 1 chance sur 1 milliard d'obtenir un doublon, il faudrait générer 103 000 milliards d'UUID !