Γεννήτρια UUID Έκδοσης 5 (SHA-1 με βάση το όνομα)

Δημιουργήστε συνεπή UUIDs χρησιμοποιώντας χώρο ονομάτων και όνομα με κατακερματισμό SHA-1

Ρυθμίσεις χώρου ονομάτωνSHA-1

Οι UUIDs έκδοσης v3 και v5 απαιτούν χώρο ονομάτων και όνομα για τη δημιουργία ντετερμινιστικών UUIDs.

Πρέπει να είναι έγκυρο UUID. Χρησιμοποιήστε το αναπτυσσόμενο μενού για να επιλέξετε προκαθορισμένο χώρο ονομάτων.
Οποιαδήποτε συμβολοσειρά κειμένου που θα κατακερματιστεί για τη δημιουργία του UUID.

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

Τι είναι το UUID v5;

Έκδοση UUID 5 είναι ένας 128-bit αναγνωριστικός κωδικός βασισμένος σε ονοματοχώρο (36-χαρακτήρων συμβολοσειρά) ορισμένος στο RFC 4122. Συνδυάζει:

  • UUID ονοματοχώρου: Προκαθορισμένο ή προσαρμοσμένο UUID για τον καθορισμό του πεδίου δημιουργίας
  • Name: Τιμή συμβολοσειράς ορισμένη από τον χρήστη εντός του ονοματοχώρου
  • SHA-1 hash: Κρυπτογραφικός αλγόριθμος που χρησιμοποιείται για τη δημιουργία του αποτελέσματος

Παράδειγμα μορφοποίησης: 2ed6657d-e927-5eb1-9a03-0242ac130003

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

  1. Επιλέξτε ένα UUID ονοματοχώρου (προκαθορισμένο ή προσαρμοσμένο)
  2. Συνενώστε το UUID ονοματοχώρου και τη συμβολοσειρά ονόματος
  3. Υπολογίστε το SHA-1 hash της συνενωμένης τιμής
  4. Ορίστε τα bits έκδοσης (0101) και τα bits παραλλαγής (10)
  5. Συναρμολόγηση ως 32 δεκαεξαδικά ψηφία με παύλες: μορφή 8-4-4-4-12

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

AdvantagesConsiderations
  • Ντετερμινιστικό (ίδια είσοδος = ίδιο UUID)
  • Οργανισμός με ονοματοχώρο
  • Χωρίς εξάρτηση από δίκτυο ή χρόνο
  • Δεν υπάρχουν ανησυχίες απορρήτου (χωρίς διεύθυνση MAC)
  • Δεν είναι χρονικά ταξινομημένα
  • Η ίδια είσοδος δημιουργεί πάντα το ίδιο UUID
  • Η επιλογή ονοματοχώρου επηρεάζει την μοναδικότητα
  • Το SHA-1 έχει γνωστές κρυπτογραφικές αδυναμίες

Δομή UUID v5

BitsContent
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 v4RandomΑσφαλή τυχαία IDs✅ Ιδιωτικό
UUID v5Ονοματοχώρος + SHA-1Ντετερμινιστικά IDs✅ Ιδιωτικό
UUID v6Χρόνος (αναδιαταγμένος)Ταξινομήσιμα IDs⚠️ Αποκαλύπτει MAC
UUID v7Χρόνος + τυχαίοΤαξινομήσιμα IDs✅ Ιδιωτικό

Προκαθορισμένοι Ονοματοχώροι

NamespaceUUIDPurpose
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8Για ονόματα τομέων
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8Για URLs
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8Για ISO OIDs
X.500 DN6ba7b814-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, που είναι βασικό χαρακτηριστικό για την οργάνωση αναγνωριστικών.

Resources