Τι είναι το UUID v3;
Έκδοση UUID 3 είναι ένας βασισμένος σε namespace 128-bit αναγνωριστικός (36-χαρακτήρων συμβολοσειρά) από το RFC 4122 που χρησιμοποιεί κατακερματισμό MD5. Αποτελείται από:
- Namespace UUID: Ένα προκαθορισμένο ή προσαρμοσμένο namespace UUID
- Name: Μια συμβολοσειρά που παρέχεται από τον χρήστη και κατακερματίζεται
- Κατακερματισμός MD5: Εφαρμόζεται στον συνδυασμό namespace + όνομα
Παράδειγμα μορφής: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Πώς λειτουργεί το UUID v3
- Επιλέξτε ένα namespace UUID (προκαθορισμένο ή προσαρμοσμένο)
- Συνενώστε τα bytes του namespace UUID με τα bytes της συμβολοσειράς ονόματος
- Υπολογισμός κατακερματισμού MD5 της συνενωμένης τιμής
- Ορίστε τα bits έκδοσης σε 0011 (έκδοση 3)
- Ορίστε τα bits παραλλαγής σε 10 (πρότυπο RFC 4122)
- Συναρμολογήστε ως 32 δεκαεξαδικά ψηφία με παύλες: μορφή 8-4-4-4-12
Πλεονεκτήματα & Σκέψεις
Advantages | Considerations |
---|---|
|
|
Δομή UUID v3
Bits | Content |
---|---|
0-47 | Πρώτα 48 bits του κατακερματισμού MD5 |
48-51 | Έκδοση (0011 για v3) |
52-63 | Επόμενα 12 bits του κατακερματισμού MD5 |
64-65 | Παραλλαγή (10 για RFC4122) |
66-127 | Υπόλοιπα 62 bits του κατακερματισμού MD5 |
Προκαθορισμένα Namespaces
Name | UUID | Purpose |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Ονόματα domain |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | ISO OIDs |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | X.500 Διακεκριμένα Ονόματα |
UUID v3 έναντι άλλων εκδόσεων
Version | Βασίζεται σε | Περίπτωση χρήσης | Privacy |
---|---|---|---|
UUID v1 | Χρόνος + MAC | Χρονικά διατεταγμένα IDs | ⚠️ Αποκαλύπτει MAC |
UUID v3 | Namespace + MD5 | Ντετερμινιστικά IDs | ✅ Ιδιωτικό |
UUID v4 | Random | Ασφαλή τυχαία IDs | ✅ Ιδιωτικό |
UUID v5 | Namespace + SHA-1 | Ντετερμινιστικά IDs | ✅ Ιδιωτικό |
UUID v6 | Χρόνος (αναδιατεταγμένος) | Ταξινομήσιμα IDs | ⚠️ Αποκαλύπτει MAC |
UUID v7 | Χρόνος + τυχαίο | Ταξινομήσιμα IDs | ✅ Ιδιωτικό |
Συνηθισμένες περιπτώσεις χρήσης
- Αναγνωριστικά βασισμένα σε URL: Δημιουργία UUID από URLs
- Αναγνωριστικά ειδικά για domain: Μετατροπή ονομάτων DNS σε UUID
- Ντετερμινιστικά IDs αρχείων: Διευθυνσιοδότηση περιεχομένου
- Αναγνωριστικά χρηστών: Από email ή όνομα χρήστη
- Εγγραφές ρυθμίσεων: Για συνεπή κλειδιά
- Αναφορές εγγράφων: Συστήματα διαχείρισης περιεχομένου
Συχνές Ερωτήσεις
Είναι το UUID v3 κρυπτογραφικά ασφαλές;
Όχι πραγματικά. Το UUID v3 χρησιμοποιεί MD5, το οποίο έχει γνωστές κρυπτογραφικές αδυναμίες. Για μεγαλύτερη ασφάλεια, εξετάστε το UUID v5 (SHA-1) ή το UUID v4 (τυχαίο).
Θα παράγουν τα ίδια εισαγωγικά πάντα το ίδιο UUID v3;
Ναι. Το UUID v3 είναι ντετερμινιστικό - το ίδιο namespace και όνομα θα παράγουν πάντα το ίδιο UUID, καθιστώντας το χρήσιμο για αναπαραγώγιμα IDs.
Ποια είναι η διαφορά μεταξύ UUID v3 και v5;
Λειτουργούν πανομοιότυπα εκτός από το ότι το v3 χρησιμοποιεί MD5 ενώ το v5 χρησιμοποιεί SHA-1. Το UUID v5 προτιμάται γενικά καθώς το SHA-1 είναι κρυπτογραφικά ισχυρότερο από το MD5.
Μπορώ να δημιουργήσω τα δικά μου namespaces;
Ναι. Ενώ το RFC 4122 ορίζει τυπικά namespaces (DNS, URL, OID, X.500), μπορείτε να δημιουργήσετε προσαρμοσμένα namespaces χρησιμοποιώντας οποιοδήποτε έγκυρο UUID.
Είναι το UUID v3 κατάλληλο για tokens ασφαλείας;
Όχι. Λόγω των αδυναμιών του MD5 και της ντετερμινιστικής φύσης, το UUID v3 δεν συνιστάται για tokens ασφαλείας ή οτιδήποτε απαιτεί απρόβλεπτο χαρακτήρα.