UUID Decoder en Validator

Decodeer en valideer UUID's om versie, tijdstempel en metadata te extraheren

Probeer deze voorbeelden:

Wat is UUID-decodering?

UUID-decodering is het proces van het analyseren van een UUID om informatie te extraheren over:

  • Version: Welke UUID-versie (1-8) gebaseerd op 4 bits op positie 48-51
  • Variant: Welke UUID-variant (meestal RFC 4122) gebaseerd op bits 64-65
  • Components: Extractie van tijdstempel, node-ID of andere gegevens op basis van versie
  • Generatietijd: Voor tijdgebaseerde UUID's (v1, v6, v7)

Example: 123e4567-e89b-12d3-a456-426614174000 is een versie 1 UUID gemaakt op 2018-10-03 09:45:32 UTC.

Overzicht UUID-structuur

FormatDescription
8-4-4-4-1232 hexadecimale cijfers gegroepeerd met koppeltekens
VersiebitsBits 48-51 (13e teken)
VariantbitsBits 64-65 (17e cijfer)

Het versienummer verschijnt als het eerste hexadecimale cijfer in de derde groep (bijv. 123e4567-e89b-12d3-a456-426614174000 voor versie 1).

Decodering op basis van UUID-versie

VersionWat kan worden gedecodeerd
UUID v1
  • Tijdstempel (met 100ns precisie, sinds 15 oktober 1582)
  • MAC-adres (indien niet willekeurig)
  • Kloksequentie (voor het vermijden van botsingen)
UUID v3/v5
  • Kan originele invoer niet decoderen
  • Kan verifiëren of gemaakt van bekende invoer
  • Kan onderscheid maken tussen v3 (MD5) en v5 (SHA-1)
UUID v4
  • Alleen willekeurige data
  • Geen uit te trekken informatie
  • Kan verifiëren dat het een geldige v4 UUID is
UUID v6
  • Tijdstempel (met 100ns precisie, sinds 15 oktober 1582)
  • MAC-adres (indien niet willekeurig)
  • Kloksequentie (voor het vermijden van botsingen)
UUID v7
  • Unix-tijdstempel (millisecondeprecisie)
  • Willekeurige component (niet decodeerbaar)
ULID
  • Unix-tijdstempel (millisecondeprecisie)
  • Willekeurige component (niet decodeerbaar)

Tijdstempel-extractie uit UUID's

UUID-typeTijdextractiemethodeEpoch
UUID v1Combineer bits 0-31, 32-47 en 48-59, herschik tijdstempelcomponenten15 oktober 1582
UUID v6Extraheer bits 0-59 (al in de juiste volgorde)15 oktober 1582
UUID v7Extraheer bits 0-47 (Unix milliseconden)1 januari 1970
ULIDDecodeer de eerste 10 Base32-tekens om 48-bit Unix milliseconden te verkrijgen1 januari 1970

UUID-validatieregels

  • Formaatcontrole: 8-4-4-4-12 hexadecimale cijfers met koppeltekens
  • Versiecontrole: 13e teken moet 1-8 zijn
  • Variantcontrole: 17e teken moet 8, 9, A of B zijn (voor RFC 4122)

Reguliere expressie voor basis UUID-validatie:

^[0-9a-f]8-[0-9a-f]4-[1-8][0-9a-f]3-[89ab][0-9a-f]3-[0-9a-f]12$

Praktische toepassingen

  • Forensische analyse: Bepalen wanneer ID's zijn gemaakt
  • Debugging: Traceren van systeemgedrag via ID-tijdstempels
  • Auditing: Valideren van chronologische integriteit
  • Beveiligingsanalyse: Detecteren van vervalste of gemanipuleerde ID's
  • Gegevensherstel: Herbouwen van temporele relaties
  • Systeemmigraties: Begrijpen van legacy UUID-implementatiedetails

MAC-adressextractie (v1/v6)

Voor UUID v1 en v6 kunt u vaak de node-identificatie (MAC-adres) extraheren als deze niet willekeurig is gemaakt tijdens generatie:

  1. Extraheer de laatste 12 hexadecimale cijfers (48 bits) uit de UUID
  2. Formaat met dubbele punten als XX:XX:XX:XX:XX:XX
  3. Controleer of het MAC-adres echt of willekeurig is door de multicast-bit te onderzoeken

Als de eerste byte bit 0x01 heeft ingesteld, is het waarschijnlijk een willekeurige node-ID in plaats van een echt MAC-adres.

Veelgestelde vragen

Kan ik precies bepalen wanneer een UUID v4 is gemaakt?

Nee. UUID v4 is volledig willekeurig zonder tijdstempelinformatie. Het aanmaaktijdstip kan niet worden bepaald uit een UUID v4-waarde.

Hoe nauwkeurig zijn tijdstempels in tijdgebaseerde UUID's?

UUID v1/v6 tijdstempels hebben een precisie van 100 nanoseconden. UUID v7 en ULID hebben millisecondeprecisie. De werkelijke systeemtijdkloknauwkeurigheid kan echter variëren.

Kan ik converteren tussen UUID-versies?

Nee, u kunt niet direct converteren tussen versies terwijl u dezelfde identificatiewaarde behoudt. Verschillende versies hebben fundamenteel verschillende structuren.

Kan ik de computer identificeren die een UUID v1 heeft gegenereerd?

Als de node-ID niet willekeurig was, kan een UUID v1 het MAC-adres van het genererende systeem bevatten. Veel moderne implementaties randomiseren dit echter voor privacy.

Hoe kan ik zien of een UUID geldig is?

Controleer het formaat (8-4-4-4-12 hexadecimale cijfers), verifieer dat het versiecijfer (13e teken) 1-8 is, en bevestig de variantbits (17e teken is 8, 9, A of B voor RFC 4122 UUID's).

Resources