Δωρεάν μετατροπέας

UUID / GUID Γεννήτρια

Δημιουργήστε τιμές UUID v4 (GUID) άμεσα στο πρόγραμμα περιήγησής σας. Δωρεάν, ιδιωτικό και από την πλευρά του πελάτη — δεν αποστέλλονται δεδομένα σε κανένα διακομιστή.

Σχετικά με αυτό το εργαλείο

Τα UUID (Universally Unique Identifiers, που ονομάζονται επίσης GUIDs σε περιβάλλοντα της Microsoft) είναι αναγνωριστικά 128-bit που μπορούν να δημιουργηθούν ανεξάρτητα σε συστήματα με αμελητέα πιθανότητα σύγκρουσης. Η τυπική φόρμα είναι 32 δεκαεξαδικοί χαρακτήρες σε ομάδες 8-4-4-4-12, που χωρίζονται με παύλες (550e8400-e29b-41d4-a716-446655440000). Υπάρχουν πολλές εκδόσεις με διαφορετικές στρατηγικές παραγωγής. Το v4 (τυχαίο) είναι το πιο κοινό.

v4 Τα UUID αντλούν τη μοναδικότητά τους από 122 bit τυχαίας (6 bit είναι σταθερά για έκδοση και παραλλαγή). Η πιθανότητα σύγκρουσης είναι τόσο μικρή που για πρακτικούς σκοπούς τα UUID μπορούν να αντιμετωπιστούν ως παγκοσμίως μοναδικά χωρίς συντονισμό - δύο συστήματα που δημιουργούν UUID ανεξάρτητα δεν θα παράγουν διπλότυπα σε οποιαδήποτε ρεαλιστική χρονική κλίμακα.

Αυτή η γεννήτρια παράγει v4 UUID στην τυπική μορφή hex-with-hyphens. Η τυχαιότητα προέρχεται από την κρυπτογραφικά ασφαλή γεννήτρια τυχαίων αριθμών του προγράμματος περιήγησης (window.crypto.getRandomValues), κατάλληλη για λόγους ευαίσθητους στην ασφάλεια. Η μαζική παραγωγή υποστηρίζεται για τη συμπλήρωση δοκιμών ή βάσεων δεδομένων σποράς.

Γιατί να δημιουργήσετε UUID

Τα UUID επιτρέπουν στα κατανεμημένα συστήματα να δημιουργούν αναγνωριστικά χωρίς να συντονίζονται με μια κεντρική βάση δεδομένων. Κάθε υπηρεσία μπορεί να παράγει αναγνωριστικά τοπικά χωρίς μετ' επιστροφής σε έναν μετρητή και τα αναγνωριστικά που προκύπτουν είναι εγγυημένα ότι δεν θα συγκρούονται με αναγνωριστικά που δημιουργούνται αλλού. Αυτό επιτρέπει κλιμακούμενες αρχιτεκτονικές όπου η δημιουργία αναγνωριστικών δεν αποτελεί εμπόδιο.

Τα UUID καθιστούν επίσης τα αναγνωριστικά μη μαντέψιμα. Διαρροή πληροφοριών διαδοχικών αριθμητικών αναγνωριστικών — συνολικός αριθμός χρηστών, ηλικία λογαριασμού, ταχύτητα εγγραφής. Τα UUID δεν αποκαλύπτουν τίποτα. Τα API που εκθέτουν αναγνωριστικά στους χρήστες επωφελούνται από τα UUID τόσο για ασφάλεια όσο και για συμβατότητα προς τα εμπρός με κοινόχρηστα backend.

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

Κάντε κλικ στη δημιουργία, λάβετε ένα UUID v4.

  1. Επιλέξτε μέτρηση: Δημιουργήστε ένα UUID κάθε φορά ή δημιουργήστε μαζικά έως και αρκετές χιλιάδες για τη συμπλήρωση δεδομένων δοκιμής.
  2. Επιλέξτε μορφή: Η τυπική μορφή με παύλες (550e8400-e29b-41d4-a716-446655440000) είναι η προεπιλογή. Προσφέρονται επίσης παραλλαγές συμπαγούς (χωρίς παύλες), κεφαλαία και τυλιγμένα με νάρθηκα {550e8400-...}.
  3. Δημιουργία: Το crypto.randomUUID() του προγράμματος περιήγησης (ή ένα εναλλακτικό v4 χρησιμοποιώντας crypto.getRandomValues) παράγει νέα UUID. Κάθε γενιά είναι ανεξάρτητη και μη ντετερμινιστική.
  4. Αντιγραφή ή λήψη: Αντιγράψτε μεμονωμένα UUID στο πρόχειρο ή πραγματοποιήστε λήψη μαζικών λιστών ως κείμενο ή CSV.

Κοινές περιπτώσεις χρήσης

Τεχνικές λεπτομέρειες

Τα UUID είναι 128 bit και εμφανίζονται ως 32 δεκαεξαδικά ψηφία σε πέντε ομάδες που χωρίζονται με παύλες. Η ομαδοποίηση (8-4-4-4-12) είναι καθαρά καλλυντική. η τιμή είναι ένας ακέραιος 128-bit. v4 UUID κωδικοποιούν 122 bit τυχαίας με τα υπόλοιπα 6 bit σταθερά: το πεδίο έκδοσης (4 bit, τιμή 4) προσδιορίζει την παραλλαγή.

Υποστήριξη προγράμματος περιήγησης: το crypto.randomUUID() είναι διαθέσιμο σε σύγχρονα προγράμματα περιήγησης (Chrome 92+, Firefox 95+, Safari 15.4+) και παράγει απευθείας UUID v4. Τα παλαιότερα προγράμματα περιήγησης επιστρέφουν στον μη αυτόματο συνδυασμό 16 τυχαίων byte από το crypto.getRandomValues ​​με bit έκδοσης/παραλλαγής που έχουν οριστεί σωστά.

Πιθανότητα σύγκρουσης: με 2^122 πιθανά τυχαία UUID, η πιθανότητα να δημιουργηθούν δύο ίδιες τιμές είναι αμελητέα. Ακόμη και με 10^9 UUID που δημιουργούνται, η πιθανότητα μιας μεμονωμένης σύγκρουσης είναι περίπου 10^-18 — περίπου 10 τρισεκατομμύρια φορές λιγότερο πιθανή από την τυχαία επιλογή ενός ατόμου στη Γη.

Βέλτιστες Πρακτικές

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

Τι είναι το UUID;
Ένα UUID (Universally Unique Identifier) είναι μια ετικέτα 128-bit που χρησιμοποιείται για τον μοναδικό προσδιορισμό πληροφοριών χωρίς συντονισμό μεταξύ των μερών. Ένα UUID v4 μοιάζει με: 550e8400-e29b-41d4-a716-446655440000. Είναι σχεδόν εγγυημένο ότι είναι μοναδικό σε όλα τα συστήματα παγκοσμίως.
Δύο UUID θα είναι ποτέ ίδια;
Θεωρητικά εφικτό αλλά πρακτικά αδύνατο. Το UUID v4 έχει 2^122 πιθανές τιμές (5,3 × 10^36). Θα χρειαστεί να δημιουργήσετε 1 δισεκατομμύριο UUID ανά δευτερόλεπτο για 100 χρόνια για να έχετε 50% πιθανότητα μίας μόνο σύγκρουσης.
Πότε πρέπει να χρησιμοποιώ UUID έναντι αναγνωριστικών αυτόματης αύξησης;
Τα UUID είναι καλύτερα για κατανεμημένα συστήματα, εφαρμογές εκτός σύνδεσης και όταν δεν θέλετε τα αναγνωριστικά να αποκαλύπτουν πληροφορίες (όπως ο αριθμός χρηστών). Η αυτόματη αύξηση είναι απλούστερη, πιο συμπαγής και ταχύτερη για την ευρετηρίαση της βάσης δεδομένων.
Είναι αυτά τα UUID κρυπτογραφικά ασφαλή;
Αυτό το εργαλείο χρησιμοποιεί crypto.getRandomValues() που παρέχει κρυπτογραφικά ασφαλείς τυχαίους αριθμούς. Το UUID v4 είναι κατάλληλο για κουπόνια και αναγνωριστικά περιόδου σύνδεσης, αλλά για εφαρμογές υψηλής ασφάλειας, εξετάστε το ενδεχόμενο δημιουργίας διακριτικών για το σκοπό αυτό.
Τι γίνεται με το UUID v5 ή v7;
Το v5 εξάγει ένα UUID ντετερμινιστικά από ένα όνομα εντός ενός χώρου ονομάτων (χρήσιμο για αναγνωριστικά με διεύθυνση περιεχομένου). Το v7 (νεότερο, 2022) προθέτει μια χρονική σήμανση χιλιοστού του δευτερολέπτου για λεξικογραφική χρονική σειρά. Αυτή η γεννήτρια εστιάζει στο v4. μπορούν να προστεθούν συγκεκριμένες εκδόσεις εάν χρειάζεται.
Τα UUID κάνουν διάκριση πεζών-κεφαλαίων;
Σύμφωνα με τις προδιαγραφές, όχι — τα κεφαλαία και τα πεζά εξάγωνα είναι ισοδύναμα. Οι περισσότερες γεννήτριες παράγουν πεζά από προεπιλογή. Η σύγκριση θα πρέπει να είναι χωρίς διάκριση πεζών-κεφαλαίων.
Γίνεται η δημιουργία στο πρόγραμμα περιήγησής μου;
Ναι. Τα UUID δημιουργούνται από την πλευρά του πελάτη χρησιμοποιώντας API κρυπτογράφησης προγράμματος περιήγησης.
Μπορώ να ταξινομήσω UUID κατά χρόνο δημιουργίας;
Όχι για το v4 — η τυχαία δομή δεν έχει χρονική παραγγελία. Για UUID με δυνατότητα ταξινόμησης χρόνου χρησιμοποιήστε το v7 (ή παλαιότερο v1, εάν αποδεχτείτε τις επιπτώσεις του απορρήτου).