Γεννήτρια UUID Έκδοσης 1 (Χρονική Σφραγίδα)

Δημιουργήστε UUIDs με βάση χρονική σφραγίδα και διεύθυνση MAC για μοναδική χρονικά ταξινομημένη αναγνώριση

Δοκιμάστε αυτά τα παραδείγματα:

Τι είναι το 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

  1. Υπολογισμός τρέχοντος χρονικού σήματος (διαστήματα 100ns από 15-10-1582)
  2. Λήψη/αύξηση ακολουθίας ρολογιού 14-bit (για μοναδικότητα αν το ρολόι γυρίσει πίσω)
  3. Λήψη 48-bit ταυτότητας κόμβου (συνήθως από διεύθυνση MAC)
  4. Ορισμός bits έκδοσης (0001) και bits παραλλαγής (10)
  5. Συναρμολόγηση ως 32 δεκαεξαδικά ψηφία με παύλες: μορφή 8-4-4-4-12

Πλεονεκτήματα & Σκέψεις

AdvantagesConsiderations
  • Χρονολογική σειρά (διατάξιμο)
  • Υψηλή απόδοση δημιουργίας
  • Κατανεμημένη δημιουργία
  • Ενσωματωμένος χρόνος δημιουργίας
  • Ανησυχίες για την ιδιωτικότητα της διεύθυνσης MAC
  • Προβλήματα συγχρονισμού ρολογιού
  • Πιο προβλέψιμο από τυχαία UUID
  • Δεν είναι κρυπτογραφικά ασφαλές

Δομή UUID v1

BitsContent
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 v4RandomΑσφαλείς τυχαίες ταυτότητες✅ Ιδιωτικό
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 για την ταυτότητα κόμβου. Υλοποιήσεις με επίκεντρο την ιδιωτικότητα μπορεί να χρησιμοποιούν τυχαίες ταυτότητες κόμβου.

Resources