Τι είναι το UUID v1;
Έκδοση UUID 1 είναι ένας χρονικά βασισμένος 128-bit αναγνωριστικός κωδικός (36-χαρακτήρων συμβολοσειρά) από το RFC 4122. Συνδυάζει:
- Timestamp: 60-bit τιμή (ακρίβεια 100 νανοδευτερολέπτων από 15-10-1582)
- Ακολουθία ρολογιού: Μετρητής 14-bit για ρυθμίσεις ρολογιού
- Ταυτότητα κόμβου: 48-bit τιμή (συνήθως διεύθυνση MAC)
Παράδειγμα μορφής: 2ed6657d-e927-11eb-9a03-0242ac130003
Πώς λειτουργεί το UUID v1
- Υπολογισμός τρέχοντος χρονικού σήματος (διαστήματα 100ns από 15-10-1582)
- Λήψη/αύξηση ακολουθίας ρολογιού 14-bit (για μοναδικότητα αν το ρολόι γυρίσει πίσω)
- Λήψη 48-bit ταυτότητας κόμβου (συνήθως από διεύθυνση MAC)
- Ορισμός bits έκδοσης (0001) και bits παραλλαγής (10)
- Συναρμολόγηση ως 32 δεκαεξαδικά ψηφία με παύλες: μορφή 8-4-4-4-12
Πλεονεκτήματα & Σκέψεις
Advantages | Considerations |
---|---|
|
|
Δομή UUID v1
Bits | Content |
---|---|
0-31 | Χαμηλά 32 bits του χρονικού σήματος |
32-47 | Μεσαία 16 bits του χρονικού σήματος |
48-59 | Υψηλά 12 bits του χρονικού σήματος |
60-63 | Έκδοση (0001 για v1) |
64-65 | Παραλλαγή (10 για RFC4122) |
66-79 | Ακολουθία ρολογιού (14 bits) |
80-127 | Ταυτότητα κόμβου (48 bits) |
UUID v1 έναντι άλλων εκδόσεων
Version | Βασισμένο σε | Περίπτωση χρήσης | Privacy |
---|---|---|---|
UUID v1 | Χρόνος + MAC | Χρονολογημένες ταυτότητες | ⚠️ Αποκαλύπτει MAC |
UUID v3 | Χώρος ονομάτων + MD5 | Ντετερμινιστικές ταυτότητες | ✅ Ιδιωτικό |
UUID v4 | Random | Ασφαλείς τυχαίες ταυτότητες | ✅ Ιδιωτικό |
UUID v5 | Χώρος ονομάτων + SHA-1 | Ντετερμινιστικές ταυτότητες | ✅ Ιδιωτικό |
UUID v6 | Χρόνος (αναδιαταγμένος) | Διατάξιμες ταυτότητες | ⚠️ Αποκαλύπτει MAC |
UUID v7 | Χρόνος + τυχαίο | Διατάξιμες ταυτότητες | ✅ Ιδιωτικό |
Συνηθισμένες περιπτώσεις χρήσης
- Κλειδιά βάσης δεδομένων: Κατανεμημένες βάσεις δεδομένων
- Αρχεία ελέγχου: Παρακολούθηση με χρονολογική σειρά
- Ταυτότητες συναλλαγών: Επιχειρησιακές διαδικασίες
- Παρακολούθηση συνεδριών: Εφαρμογές Web
- Διευθυνσιοδότηση περιεχομένου: CMS συστήματα
- Μηνύματα IoT: Επικοινωνία συσκευών
Συχνές ερωτήσεις
Είναι το UUID v1 κρυπτογραφικά ασφαλές;
Όχι. Το UUID v1 είναι προβλέψιμο αν είναι γνωστά το χρονικό σήμα και η διεύθυνση MAC. Για ασφάλεια, χρησιμοποιήστε τυχαίο UUID v4.
Μπορούν να συγκρουστούν τιμές UUID v1;
Οι συγκρούσεις είναι εξαιρετικά απίθανες στην πράξη λόγω της ακρίβειας του χρονικού σήματος, των μετρητών ακολουθίας ρολογιού και των αναγνωριστικών κόμβου.
Μπορώ να εξάγω τον χρόνο δημιουργίας από ένα UUID v1;
Ναι. Το συστατικό χρονικού σήματος μπορεί να εξαχθεί με κατάλληλους αλγορίθμους που είναι διαθέσιμοι στις περισσότερες βιβλιοθήκες UUID.
Είναι τα UUID v1 διατάξιμα κατά χρόνο δημιουργίας;
Ναι, αλλά χρειάζονται ειδικές συναρτήσεις ταξινόμησης. Η άμεση σύγκριση συμβολοσειρών δεν λειτουργεί επειδή τα bits χρόνου δεν είναι διαδοχικά.
Αποκαλύπτει το UUID v1 τη διεύθυνση MAC μου;
Κατά προεπιλογή, ναι. Οι περισσότερες υλοποιήσεις χρησιμοποιούν τη διεύθυνση MAC για την ταυτότητα κόμβου. Υλοποιήσεις με επίκεντρο την ιδιωτικότητα μπορεί να χρησιμοποιούν τυχαίες ταυτότητες κόμβου.