UUID Version 3 Generator (MD5 Name-Based)

Δημιουργήστε συνεπή UUIDs χρησιμοποιώντας namespace και όνομα με κατακερματισμό MD5

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

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

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

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

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

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

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

AdvantagesConsiderations
  • Ντετερμινιστική δημιουργία
  • Ίδιο εισαγωγικό = ίδιο UUID
  • Δεν απαιτείται κατάσταση
  • Δεν υπάρχουν ανησυχίες για την ιδιωτικότητα
  • Το MD5 είναι κρυπτογραφικά αδύναμο
  • Δεν είναι χρονικά ταξινομήσιμο/διατεταγμένο
  • Προτιμάται το UUID v5 (SHA-1)
  • Δεν έχει ενσωματωμένο χρόνο δημιουργίας

Δομή UUID v3

BitsContent
0-47Πρώτα 48 bits του κατακερματισμού MD5
48-51Έκδοση (0011 για v3)
52-63Επόμενα 12 bits του κατακερματισμού MD5
64-65Παραλλαγή (10 για RFC4122)
66-127Υπόλοιπα 62 bits του κατακερματισμού MD5

Προκαθορισμένα Namespaces

NameUUIDPurpose
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8Ονόματα domain
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8URLs
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8ISO OIDs
X.500 DN6ba7b814-9dad-11d1-80b4-00c04fd430c8X.500 Διακεκριμένα Ονόματα

UUID v3 έναντι άλλων εκδόσεων

VersionΒασίζεται σεΠερίπτωση χρήσηςPrivacy
UUID v1Χρόνος + MACΧρονικά διατεταγμένα IDs⚠️ Αποκαλύπτει MAC
UUID v3Namespace + MD5Ντετερμινιστικά IDs✅ Ιδιωτικό
UUID v4RandomΑσφαλή τυχαία IDs✅ Ιδιωτικό
UUID v5Namespace + 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 ασφαλείας ή οτιδήποτε απαιτεί απρόβλεπτο χαρακτήρα.

Resources