Wat is UUID v1?
UUID versie 1 is een tijdgebaseerde 128-bits identifier (36-teken string) uit RFC 4122. Het combineert:
- Timestamp: 60-bits waarde (100-nanoseconde precisie sinds 1582-10-15)
- Kloksequentie: 14-bits teller voor klokaanpassingen
- Node ID: 48-bits waarde (meestal MAC-adres)
Voorbeeldformaat: 2ed6657d-e927-11eb-9a03-0242ac130003
Hoe UUID v1 werkt
- Bereken huidige tijdstempel (100ns intervallen sinds 1582-10-15)
- Haal op/verhoog 14-bits kloksequentie (voor uniciteit als klok achteruit gaat)
- Verkrijg 48-bits node ID (meestal van MAC-adres)
- Stel versiebits (0001) en variantbits (10) in
- Samenstellen als 32 hexadecimale cijfers met streepjes: 8-4-4-4-12 formaat
Voordelen & Overwegingen
Advantages | Considerations |
---|---|
|
|
UUID v1 Structuur
Bits | Content |
---|---|
0-31 | Lage 32 bits van tijdstempel |
32-47 | Middelste 16 bits van tijdstempel |
48-59 | Hoge 12 bits van tijdstempel |
60-63 | Versie (0001 voor v1) |
64-65 | Variant (10 voor RFC4122) |
66-79 | Kloksequentie (14 bits) |
80-127 | Node ID (48 bits) |
UUID v1 versus andere versies
Version | Gebaseerd op | Gebruikssituatie | Privacy |
---|---|---|---|
UUID v1 | Tijd + MAC | Tijdgeordende ID's | ⚠️ Toont MAC |
UUID v3 | Namespace + MD5 | Deterministische ID's | ✅ Privé |
UUID v4 | Random | Veilige willekeurige ID's | ✅ Privé |
UUID v5 | Namespace + SHA-1 | Deterministische ID's | ✅ Privé |
UUID v6 | Tijd (herordend) | Sorteerbare ID's | ⚠️ Toont MAC |
UUID v7 | Tijd + willekeurig | Sorteerbare ID's | ✅ Privé |
Veelvoorkomende gebruikssituaties
- Databasesleutels: Gedistribueerde databases
- Auditlogs: Tijdgeordende tracking
- Transactie-ID's: Bedrijfsprocessen
- Sessie-tracking: Webapplicaties
- Content-adressering: CMS-systemen
- IoT-berichten: Apparaatcommunicatie
Veelgestelde vragen
Is UUID v1 cryptografisch veilig?
Nee. UUID v1 is voorspelbaar als tijdstempel en MAC-adres bekend zijn. Voor veiligheid, gebruik willekeurige UUID v4.
Kunnen UUID v1 waarden botsen?
Botsingen zijn in de praktijk uiterst onwaarschijnlijk door tijdstempelprecisie, kloksequentietellers en node-identifiers.
Kan ik de creatietijd uit een UUID v1 halen?
Ja. Het tijdstempelcomponent kan worden geëxtraheerd met geschikte algoritmen die in de meeste UUID-bibliotheken beschikbaar zijn.
Zijn UUID's v1 sorteervolgorde volgens creatietijd?
Ja, maar speciale sorteermethoden zijn nodig. Directe tekenreeksvergelijking werkt niet omdat tijdbits niet opeenvolgend zijn.
Toont UUID v1 mijn MAC-adres?
Standaard wel. De meeste implementaties gebruiken het MAC-adres voor de node ID. Privacygerichte implementaties kunnen in plaats daarvan willekeurige node ID's gebruiken.