Τι είναι το UUID v5;
Έκδοση UUID 5 είναι ένας 128-bit αναγνωριστικός κωδικός βασισμένος σε ονοματοχώρο (36-χαρακτήρων συμβολοσειρά) ορισμένος στο RFC 4122. Συνδυάζει:
- UUID ονοματοχώρου: Προκαθορισμένο ή προσαρμοσμένο UUID για τον καθορισμό του πεδίου δημιουργίας
- Name: Τιμή συμβολοσειράς ορισμένη από τον χρήστη εντός του ονοματοχώρου
- SHA-1 hash: Κρυπτογραφικός αλγόριθμος που χρησιμοποιείται για τη δημιουργία του αποτελέσματος
Παράδειγμα μορφοποίησης: 2ed6657d-e927-5eb1-9a03-0242ac130003
Πώς λειτουργεί το UUID v5
- Επιλέξτε ένα UUID ονοματοχώρου (προκαθορισμένο ή προσαρμοσμένο)
- Συνενώστε το UUID ονοματοχώρου και τη συμβολοσειρά ονόματος
- Υπολογίστε το SHA-1 hash της συνενωμένης τιμής
- Ορίστε τα bits έκδοσης (0101) και τα bits παραλλαγής (10)
- Συναρμολόγηση ως 32 δεκαεξαδικά ψηφία με παύλες: μορφή 8-4-4-4-12
Πλεονεκτήματα & Σκέψεις
Advantages | Considerations |
---|---|
|
|
Δομή UUID v5
Bits | Content |
---|---|
0-47 | Πρώτα 48 bits του SHA-1 hash |
48-51 | Έκδοση (0101 για v5) |
52-63 | Επόμενα 12 bits του SHA-1 hash |
64-65 | Παραλλαγή (10 για RFC4122) |
66-127 | Υπόλοιπα 62 bits του SHA-1 hash |
UUID v5 έναντι άλλων εκδόσεων
Version | Βασίζεται σε | Περίπτωση χρήσης | Privacy |
---|---|---|---|
UUID v1 | Χρόνος + MAC | Χρονικά ταξινομημένα IDs | ⚠️ Αποκαλύπτει MAC |
UUID v3 | Ονοματοχώρος + MD5 | Ντετερμινιστικά IDs | ✅ Ιδιωτικό |
UUID v4 | Random | Ασφαλή τυχαία IDs | ✅ Ιδιωτικό |
UUID v5 | Ονοματοχώρος + SHA-1 | Ντετερμινιστικά IDs | ✅ Ιδιωτικό |
UUID v6 | Χρόνος (αναδιαταγμένος) | Ταξινομήσιμα IDs | ⚠️ Αποκαλύπτει MAC |
UUID v7 | Χρόνος + τυχαίο | Ταξινομήσιμα IDs | ✅ Ιδιωτικό |
Προκαθορισμένοι Ονοματοχώροι
Namespace | UUID | Purpose |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Για ονόματα τομέων |
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 Διακεκριμένα Ονόματα |
Συνηθισμένες περιπτώσεις χρήσης
- Διεύθυνση περιεχομένου: Συνεπή IDs για ταυτόσημο περιεχόμενο
- Κατανεμημένα συστήματα: Ονομαστικοί πόροι σε συστήματα
- Χαρτογράφηση URL: Μετατροπή URLs σε σταθερούς αναγνωριστικούς
- Διαχείριση ρυθμίσεων: Παρακολούθηση ονομασμένων στοιχείων ρυθμίσεων
- Αποφυγή διπλοεγγραφών δεδομένων: Αναγνώριση ταυτόσημων εγγραφών
- Federation: Συνεπείς διασυστημικοί αναγνωριστικοί
Συχνές Ερωτήσεις
Είναι το UUID v5 καλύτερο από το UUID v3;
Ναι, για τις περισσότερες περιπτώσεις χρήσης. Το UUID v5 χρησιμοποιεί SHA-1 που είναι κρυπτογραφικά ισχυρότερο από τον αλγόριθμο MD5 που χρησιμοποιείται στο UUID v3. Ωστόσο, και τα δύο παρέχουν ντετερμινιστική δημιουργία.
Μπορούν να συγκρουστούν τιμές UUID v5;
Οι συγκρούσεις είναι θεωρητικά πιθανές αλλά εξαιρετικά απίθανες στην πράξη λόγω των ιδιοτήτων του SHA-1. Η χρήση διαφορετικών ονοματοχώρων ή συμβολοσειρών ονομάτων εξαλείφει ουσιαστικά τον κίνδυνο σύγκρουσης.
Είναι το SHA-1 αρκετά ασφαλές για το UUID v5;
Για σκοπούς UUID, το SHA-1 παραμένει κατάλληλο παρά τις κρυπτογραφικές αδυναμίες του. Το UUID v5 δεν προορίζεται για σκοπούς ασφάλειας αλλά για τη δημιουργία συνεπών αναγνωριστικών.
Μπορώ να δημιουργήσω τον δικό μου ονοματοχώρο για το UUID v5;
Ναι. Ενώ το RFC 4122 ορίζει τυπικούς ονοματοχώρους (DNS, URL, OID, X.500), μπορείτε να δημιουργήσετε προσαρμοσμένους ονοματοχώρους χρησιμοποιώντας οποιοδήποτε έγκυρο UUID, συνήθως ένα τυχαίο UUID v4.
Θα δημιουργεί πάντα το ίδιο UUID v5 το ίδιο όνομα;
Ναι, αλλά μόνο εντός του ίδιου ονοματοχώρου. Το ίδιο όνομα σε διαφορετικούς ονοματοχώρους θα δημιουργήσει διαφορετικά UUID, που είναι βασικό χαρακτηριστικό για την οργάνωση αναγνωριστικών.