Welke UUID-versie moet ik gebruiken?+−
Gebruik voor de meeste algemene ID's v4 - deze is willekeurig en bevat geen informatie. Als de UUID een primaire sleutel of index in een database wordt, is v7 meestal beter omdat deze chronologisch sorteert, wat indexen snel houdt. Gebruik v5 wanneer dezelfde invoer (zoals een URL of naam) altijd dezelfde UUID moet opleveren; gebruik v1 alleen als u specifiek een ingesloten tijdstempel nodig heeft, en houd er rekening mee dat dit het aanmaakmoment kan onthullen.
Wat is het verschil tussen v3 en v5?+−
Beide zijn deterministisch: bij dezelfde namespace en naam leveren ze altijd dezelfde UUID op. Het enige verschil is de hashfunctie - v3 gebruikt MD5, v5 gebruikt SHA-1. Omdat MD5 cryptografisch gebroken is, is v5 de aanbevolen keuze voor alles nieuws; v3 bestaat vooral voor compatibiliteit met oudere systemen.
Waarom sorteert v7 chronologisch?+−
Een v7-UUID begint met een 48-bit Unix-tijdstempel in milliseconden vóór de willekeurige bits, zodat wanneer UUID's als gewone strings (of bytes) worden vergeleken, eerder aangemaakte UUID's vóór later aangemaakte komen. Willekeurige v4-UUID's hebben deze structuur niet, wat database-indexen kan fragmenteren doordat nieuwe willekeurige waarden overal in het sleutelbereik worden ingevoegd in plaats van aan het einde.
Zijn de hier gegenereerde UUID's cryptografisch willekeurig?+−
Ja. v4 en de willekeurige delen van v1 en v7 gebruiken crypto.getRandomValues van de Web Crypto API, een cryptografisch veilige generator van willekeurige getallen die is ingebouwd in uw browser - niet Math.random(). Er wordt niets op een server gegenereerd of ergens naartoe verstuurd.
Hoe waarschijnlijk is het dat twee willekeurige v4 UUID's botsen?+−
Astronomisch onwaarschijnlijk. Een v4 UUID heeft 122 willekeurige bits (6 bits zijn vast om de versie en variant aan te geven), wat ongeveer 5,3 x 10^36 mogelijke waarden oplevert. Zelfs als je 100 jaar lang een miljard UUID's per seconde zou genereren, zou de kans op een botsing nog steeds minder dan één op een miljard zijn - daarom wordt v4 vertrouwd als een unieke identificator zonder dat er een centraal register nodig is.
Is een UUID hetzelfde als een GUID?+−
In de praktijk wel - GUID (Globally Unique Identifier) is de naam die Microsoft gebruikt voor hetzelfde 128-bit identificatorformaat dat is gedefinieerd door de UUID-standaard (RFC 4122). Sommige omgevingen schrijven het met hoofdletters of tussen accolades ({...}), maar de onderliggende waarde en structuur zijn identiek, dus een hier gegenereerde UUID is ook een geldige GUID.