Τι είναι η έκδοση UUID;

Ένα UUID (Universally Unique Identifier) είναι ένα αναγνωριστικό 128 bit, τυποποιημένο από τα RFC 4122 και RFC 9562. Κάθε UUID περιέχει ένα πεδίο έκδοσης που υποδεικνύει τον τρόπο δημιουργίας του. Η έκδοση κωδικοποιείται στο 13ο δεκαεξαδικό ψηφίο (το υψηλό nibble του 7ου byte) και καθορίζει τον αλγόριθμο και τις πηγές δεδομένων που χρησιμοποιήθηκαν για τη δημιουργία του αναγνωριστικού.

Υπάρχουν επί του παρόντος οκτώ ορισμένες εκδόσεις (v1 έως v8), καθώς και δύο ειδικές μορφές: το Nil UUID (όλα μηδενικά) και το Max UUID (όλα άσσοι). Κάθε έκδοση εξυπηρετεί διαφορετικό σκοπό — ορισμένες ενσωματώνουν χρονικές σημάνσεις για χρονολογική ταξινόμηση, άλλες χρησιμοποιούν κρυπτογραφικά hashes για ντετερμινιστική δημιουργία, και άλλες βασίζονται σε τυχαίους αριθμούς για απλότητα. Η γνώση της έκδοσης σάς βοηθά να κατανοήσετε τις ιδιότητες, τις επιπτώσεις ασφαλείας και την προβλεπόμενη χρήση ενός UUID.

Το πεδίο variant, που κωδικοποιείται ξεχωριστά, προσδιορίζει σε ποια προδιαγραφή UUID συμμορφώνεται το αναγνωριστικό. Τα περισσότερα σύγχρονα UUID χρησιμοποιούν το variant RFC 4122/RFC 9562, αλλά παλαιότερα συστήματα ενδέχεται να παράγουν variants NCS ή Microsoft.

Περιγραφή εργαλείου

Αυτό το εργαλείο δέχεται οποιοδήποτε UUID ως είσοδο και αναγνωρίζει τον αριθμό έκδοσης, το όνομα έκδοσης, το variant, τη μέθοδο δημιουργίας και μια λεπτομερή περιγραφή του τρόπου λειτουργίας αυτής της έκδοσης. Υποστηρίζει όλες τις τυπικές εκδόσεις (v1 έως v8), καθώς και τα Nil και Max UUID. Απλώς επικολλήστε ένα UUID και δείτε αμέσως την πλήρη ανάλυσή του.

Παραδείγματα

UUID εισόδου Έκδοση Όνομα
550e8400-e29b-41d4-a716-446655440000 4 Τυχαίο (v4)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 1 Βασισμένο σε χρόνο (v1)
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 7 Βασισμένο σε Unix Epoch Time (v7)
00000000-0000-0000-0000-000000000000 Nil Nil UUID
ffffffff-ffff-ffff-ffff-ffffffffffff Max Max UUID

Χαρακτηριστικά

  • Ανιχνεύει όλες τις εκδόσεις UUID από v1 έως v8, καθώς και τα Nil και Max UUID
  • Αναγνωρίζει το variant (RFC 4122/9562, NCS, Microsoft ή Reserved)
  • Εμφανίζει μια περιγραφή σε αναγνώσιμη μορφή που εξηγεί τον τρόπο δημιουργίας της έκδοσης
  • Εμφανίζει τη μέθοδο δημιουργίας που χρησιμοποιήθηκε για την παραγωγή του UUID
  • Άμεση αναγνώριση σε πραγματικό χρόνο καθώς πληκτρολογείτε ή επικολλάτε

Περιπτώσεις χρήσης

  • Αποσφαλμάτωση κατανεμημένων συστημάτων: Προσδιορίστε εάν τα UUID στα logs σας είναι βασισμένα σε χρόνο (v1/v6/v7) ή τυχαία (v4), για να κατανοήσετε αν φέρουν ενσωματωμένες χρονικές σημάνσεις που μπορείτε να εξαγάγετε.
  • Βελτιστοποίηση βάσης δεδομένων: Προσδιορίστε εάν τα primary keys σας χρησιμοποιούν μια ταξινομήσιμη έκδοση UUID (v6, v7) ή μια τυχαία (v4) που ενδέχεται να προκαλεί κατακερματισμό ευρετηρίου.
  • Έλεγχος ασφαλείας: Εντοπίστε UUID v1 που ενδέχεται να αποκαλύπτουν διευθύνσεις MAC ή χρονικές σημάνσεις, βοηθώντας σας να αξιολογήσετε κινδύνους αποκάλυψης πληροφοριών.

Πώς λειτουργεί

Το εργαλείο αναλύει τη δεκαεξαδική δομή του UUID για να εξαγάγει δύο βασικά πεδία:

  1. Έκδοση: Διαβάζεται από το 13ο δεκαεξαδικό ψηφίο (δείκτης 12 στο stripped hex string). Αυτό το nibble κωδικοποιεί άμεσα τον αριθμό έκδοσης (1–8). Τα Nil και Max UUID ανιχνεύονται ελέγχοντας εάν όλα τα bits είναι μηδέν ή όλα είναι άσσοι.
  2. Variant: Καθορίζεται από τα πιο σημαντικά bits του 17ου δεκαεξαδικού ψηφίου (δείκτης 16). Το μοτίβο bits αντιστοιχίζεται σε μία από τέσσερις οικογένειες variant: NCS, RFC 4122/9562, Microsoft ή Reserved.

Εκδόσεις UUID με μια ματιά

Έκδοση Όνομα Βασική ιδιότητα
v1 Βασισμένο σε χρόνο Χρονική σήμανση + διεύθυνση MAC
v2 DCE Security Χρονική σήμανση + MAC + POSIX UID/GID
v3 Βασισμένο σε όνομα (MD5) Ντετερμινιστικό από namespace + όνομα
v4 Τυχαίο 122 τυχαία bits
v5 Βασισμένο σε όνομα (SHA-1) Ντετερμινιστικό, ισχυρότερο hash από το v3
v6 Αναδιατεταγμένο βασισμένο σε χρόνο Ταξινομήσιμη παραλλαγή του v1
v7 Βασισμένο σε Unix Epoch Time Unix ms χρονική σήμανση + τυχαίο, ιδανικό για κλειδιά DB
v8 Προσαρμοσμένο Ειδικό για προμηθευτή ή πειραματικό
Nil Nil UUID Όλα τα 128 bits ορισμένα σε μηδέν
Max Max UUID Όλα τα 128 bits ορισμένα σε άσσο

Συχνές ερωτήσεις

Ποια είναι η διαφορά μεταξύ έκδοσης και variant UUID; Η έκδοση υποδεικνύει τον αλγόριθμο δημιουργίας (βασισμένο σε χρόνο, τυχαίο, βασισμένο σε hash κ.λπ.), ενώ το variant προσδιορίζει σε ποια προδιαγραφή συμμορφώνεται το UUID (RFC 4122, NCS, Microsoft). Τα περισσότερα UUID που θα συναντήσετε θα είναι variant RFC 4122/9562.

Ποια έκδοση UUID πρέπει να χρησιμοποιώ; Για τις περισσότερες εφαρμογές, το v4 (τυχαίο) είναι το απλούστερο και ευρύτερα υποστηριζόμενο. Εάν χρειάζεστε χρονικά ταξινομήσιμα αναγνωριστικά για primary keys βάσης δεδομένων, το v7 είναι η σύγχρονη σύσταση. Χρησιμοποιήστε το v5 όταν χρειάζεστε ντετερμινιστικά UUID που προέρχονται από ένα όνομα.

Μπορεί αυτό το εργαλείο να εξαγάγει τη χρονική σήμανση από ένα UUID; Αυτό το εργαλείο αναγνωρίζει μόνο την έκδοση και το variant. Για την εξαγωγή ενσωματωμένων χρονικών σημάνσεων από UUID v1, v6 ή v7, χρησιμοποιήστε το αποκλειστικό εργαλείο UUID Time Extractor.