Naar hoofdinhoud springen
FreeOnlineTools Go
Nederlands
Vergelijking

UUID v1 versus v4 versus v5: welke versie moet u gebruiken?

Door FreeOnlineTools Team · Bijgewerkt op 2026-08-28

Snel antwoord

Gebruik UUID v4 (random) standaard —het heeft geen coördinatie nodig en verwaarloosbaar collision-risico. Gebruik v1 (time-based) alleen wanneer je time-orderable ID's nodig hebt en de node ID kunt beveiligen. Gebruik v5 (namespace+name) voor deterministische ID's. Genereer elke versie met onze gratis UUID Generator.

Invoering

Een UUID (Universally Unique Identifier) is een 128-bit identifier weergegeven als 36 tekens in 8-4-4-4-12 hex-groepen, bijv. 123e4567-e89b-12d3-a456-426614174000. RFC 9562 definieert verschillende versies; de drie die je meestal tegenkomt zijn v1 (time + MAC), v4 (random) en v5 (namespace + name, SHA-1). Elke versie maakt andere afwegingen tussen uniciteitsgaranties, sorteerbaarheid en determinisme.

Stap voor stap

  1. UUID v1 —tijd- en knooppuntgebaseerd

    v1 codeert de huidige 60-bits tijdstempel (intervallen van 100 ns sinds 1582-10-15) en een 48-bits knooppunt-ID (meestal het MAC-adres). ID's die op hetzelfde knooppunt worden gegenereerd, zijn monotoon oplopend en in de tijd sorteerbaar. Risico: het MAC-adres lekt hardware-identiteit, en klokafwijkingen tussen knooppunten kunnen de volgorde verstoren.

  2. UUID v4 —willekeurig

    v4 gebruikt 122 willekeurige bits (6 bits staan ​​vast voor de versie/variant). Met 122 willekeurige bits is de kans op een botsing tussen 2,71 biljoen ID's 50%; voor elke realistische werklast is de kans feitelijk nul. v4 heeft geen coördinatie nodig en onthult geen hostinformatie, waardoor het de veiligste standaard is.

  3. UUID v5 —naamruimte en naam (SHA-1)

    v5 hasht een naamruimte UUID en een naamreeks met SHA-1 om een ​​deterministische 128-bits ID te produceren. Hetzelfde (naamruimte, naam) paar levert altijd dezelfde UUID op, wat ideaal is voor deduplicatie en stabiele ID's afgeleid van natuurlijke sleutels. v3 is hetzelfde idee, maar gebruikt MD5 (vermijd dit).

  4. Vergelijk de afwegingen

    v1 kan worden gesorteerd, maar lekt MAC en heeft kloksynchronisatie nodig. v4 is willekeurig en privé, maar niet sorteerbaar. v5 is deterministisch en ontdubbelt, maar is niet willekeurig. Door de naam te raden kan een aanvaller de UUID reproduceren. Kies op basis van of u ordening, willekeur of determinisme nodig heeft.

  5. Kies de juiste versie voor uw hoesje

    Primaire sleutels van de database: v4 (of v7 in nieuwere systemen voor tijdsvolgorde). Gedistribueerde systemen zonder coördinatie: v4. Deterministische ID's van een natuurlijke sleutel (bijvoorbeeld URL →UUID): v5. Auditlogboeken die profiteren van tijdvolgorde: v1 met een beveiligd willekeurig knooppunt-ID.

Voorbeelden

UUID v1 (op tijd gebaseerd, sorteerbaar)

Invoer: Gegenereerd op 28-08-2026T12:00:00Z op knooppunt 00:11:22:33:44:55

Uitvoer: 1ef7c1d0-2d3b-11f0-8000-001122334455 (versiecijfer '1', tijdsorteerbaar)

UUID v4 (willekeurig)

Invoer: Random generation

Uitvoer: f47ac10b-58cc-4372-a567-0e02b2c3d479 (versiecijfer '4', willekeurige bits)

UUID v5 (deterministisch uit naamruimte+naam)

Invoer: Naamruimte DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8) + naam 'freeonlinetoolsgo.com'

Uitvoer: 74738ff5-5367-5958-9aeb-0c1f1f1f1f1f (dezelfde invoer levert altijd dezelfde uitvoer op)

Veelvoorkomende problemen

  • UUID's opslaan als VARCHAR(36) in plaats van een native 16-byte BINARY/UUID type: dit verspilt 2x opslagruimte en verslechtert de indexprestaties. Gebruik indien beschikbaar een native kolomtype UUID.
  • Gebruik van v1 zonder de knooppunt-ID te beveiligen: het standaard MAC-adres lekt de hardware-identiteit en is een privacyprobleem. Vervang het door een cryptografisch willekeurige 48-bits waarde per knooppunt.
  • Ervan uitgaande dat v4-botsingen onmogelijk zijn: dat is niet het geval: ze zijn alleen astronomisch onwaarschijnlijk. Met 122 willekeurige bits heb je ~2,71 biljoen ID's nodig voor een kans van 50%. Voor 1 miljard ID's is de kans ~0,0000000000000001.
  • Gebruik van v3 (gebaseerd op MD5) in plaats van v5 (gebaseerd op SHA-1): MD5 is defect, dus v5 heeft de voorkeur. Beide zijn deterministisch, maar v5 heeft een sterkere botsingsweerstand.

Tips

  • Standaard ingesteld op v4 voor bijna elk gebruiksscenario: het is willekeurig, privé en veilig voor botsingen zonder enige coördinatie.
  • Als je op tijd sorteerbare willekeurige ID's nodig hebt, kijk dan eens naar UUID v7 (RFC 9562, 2024) dat een Unix-tijdstempel combineert met willekeurige bits - beter dan v1 voor moderne databases.
  • Gebruik v5 om stabiele ID's te genereren op basis van natuurlijke sleutels (URLs, e-mailadressen), zodat dezelfde invoer altijd wordt toegewezen aan dezelfde UUID - handig voor deduplicatie en idempotente APIs.
  • Genereer indien mogelijk UUID's op de client om een ​​retourtje naar de server te voorkomen. Onze UUID Generator draait volledig in uw browser met behulp van crypto.getRandomValues().

Gerelateerde hulpmiddelen

Gerelateerde gidsen

Referenties