Utilia

Γεννήτρια UUID

Δωρεάν γεννήτρια UUID εκδόσεων 4 και 7. Δημιουργήστε έως 1.000 ταυτόχρονα, με κεφαλαία ή χωρίς παύλες, και αντιγράψτε ή κατεβάστε τα ως .txt.

Έκδοση

Πώς να χρησιμοποιήσετε τη γεννήτρια UUID

  1. Επιλέξτε την έκδοση UUID: v4 (τυχαίο) για πλήρως τυχαία αναγνωριστικά ή v7 (με χρονική σειρά) για αναγνωριστικά ταξινομημένα κατά χρόνο.
  2. Εισαγάγετε Πόσα UUID χρειάζεστε, από 1 έως 1.000.
  3. Προαιρετικά ενεργοποιήστε την έξοδο με Κεφαλαία ή αφαιρέστε τις Παύλες αν το σύστημα στο οποίο τα δίνετε περιμένει τη συμπαγή μορφή των 32 χαρακτήρων.
  4. Πατήστε Δημιουργία και στη συνέχεια αντιγράψτε τη λίστα στο πρόχειρο ή κατεβάστε την ως αρχείο .txt με ένα UUID ανά γραμμή.

Τι είναι το UUID;

Το UUID (Universally Unique Identifier), γνωστό και ως GUID στον κόσμο της Microsoft, είναι μια τιμή 128 bit που χρησιμοποιείται για την αναγνώριση κάποιου πράγματος χωρίς να χρειάζεται κεντρική αρχή που να μοιράζει αριθμούς. Συνήθως γράφεται ως 32 δεκαεξαδικά ψηφία σε πέντε ομάδες χωρισμένες με παύλες, με μοτίβο 8-4-4-4-12, για παράδειγμα f47ac10b-58cc-4372-a567-0e02b2c3d479. Το πρώτο ψηφίο της τρίτης ομάδας είναι η έκδοση και το πρώτο ψηφίο της τέταρτης ομάδας κωδικοποιεί την παραλλαγή (8, 9, a ή b για τα τυπικά UUID).

Επειδή οποιοσδήποτε υπολογιστής μπορεί να δημιουργήσει ανεξάρτητα ένα UUID με αμελητέα πιθανότητα σύγκρουσης, τα UUID χρησιμοποιούνται ευρέως ως πρωτεύοντα κλειδιά βάσεων δεδομένων, αναγνωριστικά αιτημάτων και συσχέτισης στα αρχεία καταγραφής, ονόματα αρχείων για μεταφορτώσεις, κλειδιά ταυτοδυναμίας (idempotency) για API και αναγνωριστικά σε κατανεμημένα συστήματα όπου πολλοί διακομιστές δημιουργούν εγγραφές ταυτόχρονα.

Έκδοση 4 ή έκδοση 7

Και οι δύο εκδόσεις ορίζονται στο RFC 9562, το πρότυπο του 2024 που αντικατέστησε το RFC 4122.

Το UUID v4 είναι σχεδόν εξ ολοκλήρου τυχαίο: 122 από τα 128 bit του προέρχονται από γεννήτρια τυχαίων αριθμών και τα υπόλοιπα 6 bit κρατούν την έκδοση και την παραλλαγή. Δεν αποκαλύπτει τίποτα για το πότε ή πού δημιουργήθηκε. Η πιθανότητα σύγκρουσης είναι τόσο μικρή που θα έπρεπε να δημιουργήσετε περίπου 103 τρισεκατομμύρια UUID v4 για να φτάσετε πιθανότητα ένα στο δισεκατομμύριο για ένα μόνο διπλότυπο. Διαλέξτε v4 όταν θέλετε αναγνωριστικά αδιαφανή που δεν μεταφέρουν πληροφορία.

Το UUID v7 ξεκινά με μια χρονική σήμανση Unix 48 bit σε χιλιοστά του δευτερολέπτου, ακολουθούμενη από την έκδοση, την παραλλαγή και 74 τυχαία bit. Έτσι, τα UUID v7 που δημιουργούνται αργότερα ταξινομούνται μετά από αυτά που δημιουργήθηκαν νωρίτερα. Αυτό έχει μεγάλη σημασία για τις βάσεις δεδομένων: τα τυχαία κλειδιά v4 εισάγονται σε διάσπαρτες θέσεις ενός ευρετηρίου B-tree, προκαλώντας διασπάσεις σελίδων και κακή τοπικότητα της κρυφής μνήμης, ενώ τα κλειδιά v7 προστίθενται κοντά στο τέλος, όπως ένας αυτόματα αυξανόμενος ακέραιος. Διαλέξτε v7 για πρωτεύοντα κλειδιά και για ό,τι θέλετε να ταξινομείτε με βάση τον χρόνο δημιουργίας. Να έχετε υπόψη ότι ο χρόνος δημιουργίας διαβάζεται από ένα UUID v7, γι’ αυτό αποφύγετέ το όταν αυτή η πληροφορία είναι ευαίσθητη.

Τυχαιότητα και ασφάλεια

Το εργαλείο χρησιμοποιεί την κρυπτογραφικά ασφαλή γεννήτρια τυχαίων αριθμών του προγράμματος περιήγησης (το Web Crypto API) και όχι τη Math.random(), που δεν σχεδιάστηκε για να είναι απρόβλεπτη. Τα UUID δημιουργούνται τοπικά στη συσκευή σας και δεν στέλνονται ούτε καταγράφονται από κανέναν διακομιστή, επομένως κανείς άλλος δεν βλέπει τις τιμές που δημιουργείτε.

Παρ’ όλα αυτά, το UUID είναι αναγνωριστικό και όχι μυστικό. Μην βασίζεστε μόνο σε ένα UUID που δεν μαντεύεται για να προστατεύσετε ένα ιδιωτικό έγγραφο ή έναν σύνδεσμο επαναφοράς κωδικού πρόσβασης· συνδυάστε το με σωστή ταυτοποίηση και λήξη.

Επιλογές μορφοποίησης

Η κανονική μορφή είναι με πεζά και παύλες, και το RFC 9562 συνιστά έξοδο με πεζά. Ορισμένα συστήματα, όπως παλαιότερα εργαλεία των Windows ή ορισμένες βάσεις δεδομένων, εμφανίζουν τα GUID με κεφαλαία, και ορισμένες μορφές αποθήκευσης προτιμούν τη μορφή των 32 χαρακτήρων χωρίς παύλες. Και οι δύο επιλογές αλλάζουν μόνο την κειμενική αναπαράσταση· η υποκείμενη τιμή 128 bit είναι ίδια και οι περισσότεροι αναλυτές δέχονται όλες αυτές τις μορφές.

Συχνές ερωτήσεις

Είναι εγγυημένα μοναδικά τα UUID;

Όχι απόλυτα, αλλά η πιθανότητα σύγκρουσης με σωστά παραγμένα τυχαία bit είναι τόσο χαμηλή που στην πράξη αγνοείται. Οι πραγματικοί κίνδυνοι προέρχονται από χαλασμένες γεννήτριες τυχαίων αριθμών ή από χειροκίνητη αντιγραφή τιμών, όχι από τη μορφή.

Να χρησιμοποιήσω UUID v4 ή v7 ως πρωτεύον κλειδί βάσης δεδομένων;

Για τα περισσότερα νέα έργα, το v7 είναι η καλύτερη επιλογή: κρατά τα ευρετήρια συμπαγή και τις εισαγωγές γρήγορες, επειδή οι τιμές φτάνουν με περίπου αύξουσα σειρά. Χρησιμοποιήστε v4 αν δεν θέλετε να φαίνεται ο χρόνος δημιουργίας μέσα στο αναγνωριστικό.

Είναι το GUID το ίδιο με το UUID;

Ναι. Το GUID είναι η ονομασία που χρησιμοποιεί η Microsoft για την ίδια μορφή 128 bit. Ένα GUID από το .NET ή τον SQL Server είναι εναλλάξιμο με ένα UUID από άλλες πλατφόρμες.

Μπορούν να συγκρουστούν δύο UUID v7 που δημιουργήθηκαν στο ίδιο χιλιοστό του δευτερολέπτου;

Μοιράζονται το ίδιο πρόθεμα χρονικής σήμανσης, αλλά τα υπόλοιπα 74 τυχαία bit κάνουν τη σύγκρουση εξαιρετικά απίθανη. Μέσα στο ίδιο χιλιοστό, η σχετική τους σειρά δεν είναι εγγυημένο ότι ταιριάζει με την ακριβή σειρά δημιουργίας.

Γιατί οι παύλες είναι προαιρετικές;

Οι παύλες υπάρχουν μόνο για ευανάγνωστη εμφάνιση. Αν τις αφαιρέσετε, προκύπτει μια δεκαεξαδική συμβολοσειρά 32 χαρακτήρων που παριστάνει ακριβώς την ίδια τιμή, και την οποία προτιμούν ορισμένα API και μορφές αποθήκευσης.