Verschillen tussen UUID v4, UUID v7, ULID en NanoID
Bij het selecteren van een unieke identificatiecode is het belangrijk om de structurele en functionele verschillen tussen de beschikbare formaten te begrijpen. Deze tool ondersteunt vier veelgebruikte formaten, elk ontworpen voor specifieke scenario's:
- UUID v4: Dit formaat bestaat uit 122 bits aan pure willekeur, gepresenteerd in een structuur van 36 tekens. Het biedt een hoge mate van onvoorspelbaarheid.
- UUID v7: Dit is eveneens een formaat van 36 tekens, maar in tegenstelling tot versie 4 begint UUID v7 met een milliseconde-tijdstempel. Hierdoor zijn de gegenereerde ID's sorteerbaar op basis van het tijdstip van aanmaak.
- ULID: Dit formaat is een hoofdletterongevoelige string van 26 tekens die, net als UUID v7, begint met een tijdstempel. Dit maakt het een compacter alternatief dat eveneens sorteerbaar is.
- NanoID: Dit formaat heeft een standaardlengte van 21 tekens, maar is volledig aanpasbaar qua lengte en gebruikte tekens. NanoID is niet gesorteerd.
Tijdgebaseerde ID's en database-indexering
Het gebruik van tijdgebaseerde identificatiecodes zoals UUID v7 en ULID biedt specifieke voordelen voor databasebeheer en indexering. Omdat beide formaten beginnen met een milliseconde-tijdstempel, kunnen ze grofweg worden gesorteerd op aanmaaktijd. Dit helpt databasebeheerders die primaire sleutels zoeken die chronologisch geordend kunnen worden.
Er moet echter rekening mee worden gehouden dat UUID v7 en ULID geen strikte volgorde garanderen voor ID's die binnen exact dezelfde milliseconde worden gegenereerd. Desondanks blijven ze uiterst nuttig voor toepassingen waarbij chronologische sortering op database-niveau gewenst is.
Aanpassingsmogelijkheden van NanoID
NanoID onderscheidt zich door de flexibiliteit die het biedt aan gebruikers die de lengte en de tekenset van hun unieke identificatiecodes willen personaliseren. Via de interface van de generator kunnen de volgende parameters voor NanoID worden ingesteld:
- Lengte: Met een schuifregelaar kan de lengte van de ID worden aangepast tussen de 2 en 36 tekens, waarbij de standaardwaarde is ingesteld op 21 tekens.
- Alfabet: Dit bewerkbare tekstveld maakt het mogelijk om handmatig te bepalen welke specifieke tekens in de gegenereerde NanoID mogen voorkomen.
Bij het aanpassen van het alfabet geldt een strikte regel: het alfabet moet ten minste 2 verschillende tekens bevatten. Als het alfabet wordt gewijzigd naar slechts één enkel teken, treedt er een fout op. In dat geval worden de resultaten direct gewist, wordt de teller van het aantal ID's gereset naar 0 en wordt de knop om alles te kopiëren uitgeschakeld.
Werking en invoeropties van de generator
De generator is ontworpen om snel en flexibel ID's te produceren op basis van gebruikersvoorkeuren. De tool staat toe om tussen de 1 en maximaal 100 ID's tegelijk te genereren. Zodra een optie of parameter in de interface wordt gewijzigd, worden de ID's direct opnieuw gegenereerd.
De beschikbare invoeropties in de interface zijn:
- Formaat: Keuze uit UUID v4, UUID v7, ULID of NanoID.
- Aantal: Een numerieke waarde van 1 tot en met 100.
- Hoofdletters: Een schakelaar voor UUID's om de output in hoofdletters weer te geven.
- Koppeltekens opnemen: Een schakelaar om te bepalen of UUID's met of zonder koppeltekens worden getoond.
- Lengte en Alfabet: Specifieke instellingen die verschijnen wanneer NanoID is geselecteerd.
Gegenereerde ID's verschijnen direct in de browser. Gebruikers kunnen een individuele ID naar het klembord kopiëren door er simpelweg op te klikken, of alle ID's in één keer kopiëren.
Privacy en lokale verwerking
Bij het genereren van unieke identificatiecodes is veiligheid en privacy een belangrijke factor. Deze tool verwerkt alle gegevens lokaal in de browser van de gebruiker. Er wordt gebruikgemaakt van de sterke, ingebouwde willekeur (randomness) van de browser om de unieke waarden te berekenen. Tijdens dit proces worden er geen gegevens of gegenereerde ID's naar BroBroGo verzonden.
Veelgestelde vragen (FAQ)
Wat is het verschil tussen UUID v4, UUID v7, ULID en NanoID?
UUID v4 biedt 122 bits aan pure willekeur in het bekende 36-tekens formaat, maar de willekeurige volgorde is ongunstig voor de indexering van databases. UUID v7 behoudt dezelfde vorm maar begint met een milliseconde-tijdstempel, waardoor ID's grofweg op aanmaaktijd worden gesorteerd — handig voor primaire sleutels. ULID doet hetzelfde met de tijd vooraan, maar in een kortere, hoofdletterongevoelige string van 26 tekens. NanoID is niet gesorteerd, maar biedt een veel kleinere, volledig aanpasbare ID — je kiest zelf de lengte en de tekenset.
Zijn deze ID's willekeurig genoeg om onraadbaar te zijn?
Ja — elk ID wordt gegenereerd met cryptografisch sterke willekeur van de browser, niet via een voorspelbare bron. UUID v4 en het standaardalfabet van NanoID bevatten ruim 100 bits aan willekeur. UUID v7 en ULID ruilen ongeveer 48 van die bits in voor een tijdstempel aan het begin; beschouw deze formaten met tijdstempel-prefix dus eerder als sorteerbare ID's dan als geheimen.
Kan ik de lengte en tekenset van NanoID wijzigen?
Ja — schakel over naar NanoID en deze tool toont een schuifregelaar voor de lengte (standaard 21 tekens, passend bij de bibliotheek) plus een bewerkbaar alfabetveld. Het verkleinen van de lengte of het beperken van het alfabet vermindert de weerstand tegen botsingen, dus houd de lengte hoog als je de tekenset verkleint.