Γεννήτρια UUID

Δημιουργήστε τυπικά UUID online. Αυτή η σελίδα χρησιμοποιεί τυχαία UUID v4 με 122 bit τυχαιότητας και τη γνώριμη μορφή 36 χαρακτήρων.

Μορφή
Παραγόμενα ID
Έτοιμο. Δημιουργήστε UUID στο πρόγραμμα περιήγησής σας.

Πώς δομείται αυτό το ID

Διάταξη
UUID v4: δεκαεξαδικές ομάδες 8-4-4-4-12 με bit παραλλαγής RFC.
Εντροπία
122 τυχαία bit. Η έκδοση και η παραλλαγή καταναλώνουν 6 bit από τη συνολική τιμή των 128 bit.
Χρόνος
Δεν κωδικοποιούνται δεδομένα χρονοσήμανσης ή συσκευής.
Κίνδυνος σύγκρουσης
Το όριο γενεθλίων (birthday bound) για 122 τυχαία bit είναι αμελητέο για τυπικά ID εφαρμογών, δοκιμών και βάσεων δεδομένων.
Παράδειγμα
53d08a9c-dbd1-4d52-ba12-2e59ef30f7d7

Τα ID σας δημιουργούνται τοπικά με ισχυρή τυχαιότητα του προγράμματος περιήγησης. Τίποτα δεν αποστέλλεται στο BroBroGo.

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

Τι είδους UUID δημιουργεί αυτή η σελίδα;

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

Στέλνονται τα UUID σε κάποιον διακομιστή;

Όχι. Η δημιουργία γίνεται στο πρόγραμμα περιήγησής σας με το Web Crypto API, επομένως οι τιμές παραμένουν αποκλειστικά στη συσκευή σας.

Η σελίδα δημιουργίας UUID v4 του εργαλείου

Η σελίδα σας επιτρέπει να παράγετε ένα ή περισσότερα UUID v4 αναγνωριστικά – τυχαίες συμβολοσειρές 36 χαρακτήρων στην τυπική μορφή 8‑4‑4‑4‑12 hex. Ελέγχετε τον αριθμό των αναγνωριστικών (έως 100) και το αν εμφανίζονται με κεφαλαία γράμματα ή με παύλες. Η παραγωγή γίνεται ακαριαία στο πρόγραμμα περιήγησής σας, χρησιμοποιώντας ισχυρή κρυπτογραφική τυχαιότητα. Μπορείτε να αντιγράψετε ένα μόνο αναγνωριστικό ή όλα μαζί.

Τι είναι το UUID v4 και πώς λειτουργεί

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

Η σελίδα παράγει UUID v4 χρησιμοποιώντας το crypto.getRandomValues() του προγράμματος περιήγησης – μία κρυπτογραφικά ασφαλή γεννήτρια τυχαίων αριθμών. Κάθε UUID δημιουργείται ως 16 τυχαία byte (128 bit). Στη συνέχεια, το 7ο byte (το byte που αντιστοιχεί στη θέση του 13ου δεκαεξαδικού ψηφίου) ορίζεται ώστε η υψηλού βαθμού τετράδα του να είναι 0100 (που δίνει δεκαεξαδικό 4…) – αυτό είναι το πεδίο της έκδοσης. Αντίστοιχα, το 9ο byte (θέση 17ου ψηφίου) τροποποιείται ώστε τα δύο υψηλότερα bit να είναι 10 (variant), δίνοντας δεκαεξαδικό 8…, 9…, a… ή b…. Η υπόλοιπη δομή παραμένει τυχαία. Η σελίδα ακολουθεί πιστά αυτόν τον αλγόριθμο.

Οι επιλογές "Κεφαλαία" και "Περιλαμβάνονται παύλες" αλλάζουν μόνο την εμφάνιση· η εσωτερική δομή και η τυχαιότητα παραμένουν ίδιες. Η προεπιλεγμένη έξοδος είναι πεζά με παύλες. Κάθε αλλαγή σε οποιαδήποτε επιλογή (πλήθος, κεφαλαία, παύλες) αναδημιουργεί αμέσως όλο το σύνολο των αναγνωριστικών.

Διαφοροποίηση από άλλες μορφές αναγνωριστικών

Σε αντίθεση με τα UUID v7 ή τα ULID, το UUID v4 δεν ενσωματώνει χρονική σήμανση. Αυτό σημαίνει ότι οι τιμές του δεν έχουν καμία χρονολογική διάταξη. Ως αποτέλεσμα, όταν χρησιμοποιείται ως πρωτεύον κλειδί σε βάσεις δεδομένων, τα UUID v4 εισάγονται σε τυχαίες θέσεις των δεικτών (B‑tree), προκαλώντας συχνά κατακερματισμό σελίδων (page splits) και υποβαθμίζοντας την απόδοση των εισαγωγών.

Αντίθετα, τα UUID v7 ενσωματώνουν χρονική σήμανση Unix milliseconds (48 bit) στα υψηλότερα bit, επιτρέποντας χρονολογική ταξινόμηση και καλύτερη συμπεριφορά στους δείκτες. Τα ULID κάνουν κάτι παρόμοιο με 48 bit χρόνου και 80 bit τυχαιότητας, αλλά σε μια πιο συμπαγή κωδικοποίηση base32. Το NanoID είναι μια μικρότερη (συνήθως 21 χαρακτήρες) τυχαία συμβολοσειρά που δεν ακολουθεί κάποιο πρότυπο UUID.

Ποιο είναι το πλεονέκτημα του UUID v4; Η πλήρης μη προβλεψιμότητα. Δεδομένου ότι δεν υπάρχει χρόνος, η εικασία της επόμενης τιμής είναι πρακτικά αδύνατη – ακόμα κι αν κάποιος γνωρίζει μια ακολουθία προηγούμενων αναγνωριστικών. Αυτό είναι χρήσιμο για διακριτικά ασφαλείας, session IDs, ή για αναγνωριστικά που δεν πρέπει να αποκαλύπτουν πληροφορίες για τη στιγμή δημιουργίας τους.

Η σελίδα υποστηρίζει επίσης UUID v7, ULID και NanoID, αλλά με διαφορετικές επιλογές μορφοποίησης. Για UUID v4, οι ρυθμίσεις πεζών/κεφαλαίων και παυλών είναι διαθέσιμες. Αν αλλάξετε μορφή, οι επιλογές ενδέχεται να αλλάξουν.

Ποιότητα τυχαιότητας και πιθανότητα σύγκρουσης

122 bit τυχαιότητας σημαίνει ότι υπάρχουν 2¹²² πιθανές τιμές UUID v4 – δηλαδή περίπου 5.3 × 10³⁶ δυνατότητες. Η πιθανότητα σύγκρουσης (collision) είναι αμελητέα για πρακτικές εφαρμογές. Ακόμα κι αν δημιουργούσατε 1 δισεκατομμύριο UUID v4 ανά δευτερόλεπτο για 100 χρόνια, η πιθανότητα μιας σύγκρουσης θα ήταν μικρότερη από 10⁻¹⁵ – μικρότερη από την πιθανότητα να πέσει ένα μετεωρίτης στο σπίτι σας.

Η τυχαιότητα προέρχεται από την κρυπτογραφική γεννήτρια του προγράμματος περιήγησης (Crypto.getRandomValues). Αυτή τροφοδοτείται από μια ασφαλή πηγή εντροπίας του λειτουργικού συστήματος (π.χ. /dev/urandom σε Linux, BCryptGenRandom σε Windows). Δεν χρησιμοποιείται η απλή Math.random(), η οποία είναι ψευδοτυχαία και λιγότερο ασφαλής.

Η παραγωγή γίνεται εξ ολοκλήρου τοπικά – καμία πληροφορία δεν αποστέλλεται σε διακομιστή. Αυτό σημαίνει ότι μπορείτε να χρησιμοποιείτε τη σελίδα ακόμα και χωρίς σύνδεση (αφού φορτωθεί) και ότι τα δεδομένα σας παραμένουν ιδιωτικά. Δεν υπάρχει αποθήκευση από πλευράς του εργαλείου.

Επιλογές εξόδου και λειτουργία αντιγραφής

Η σελίδα παρέχει τρεις παραμέτρους εισόδου:

  • Μορφή: Από το αναπτυσσόμενο μενού επιλέγετε "UUID v4" (οι άλλες επιλογές είναι UUID v7, ULID, NanoID).
  • Πλήθος: Ένας αριθμός από 1 έως 100. Αν δώσετε τιμή εκτός αυτού του εύρους, η σελίδα δεν την αποδέχεται.
  • Κεφαλαία: Διακόπτης (default: off). Όταν ενεργοποιείται, η έξοδος εμφανίζεται με κεφαλαία δεκαεξαδικά ψηφία.
  • Περιλαμβάνονται παύλες: Διακόπτης (default: on). Αν απενεργοποιηθεί, τα αναγνωριστικά εμφανίζονται ως συνεχόμενες συμβολοσειρές 32 hex χαρακτήρων.

Μετά από κάθε αλλαγή, τα αναγνωριστικά ανανεώνονται αυτόματα. Η σελίδα εμφανίζει ένα μήνυμα κατάστασης: "Έτοιμο." (αρχικά), "Δημιουργήθηκαν." (μετά την παραγωγή) και "Αντιγράφηκαν όλα!" (μετά την αντιγραφή όλων).

Κάθε μεμονωμένο UUID μπορεί να αντιγραφεί με κλικ πάνω του. Το κουμπί "Αντιγραφή όλων" αντιγράφει όλα τα παραγόμενα αναγνωριστικά, το ένα ανά γραμμή, στο πρόχειρο.

Πρακτικές χρήσεις και προσοχή στη βάση δεδομένων

Το UUID v4 είναι ιδανικό για:

  • Διακριτικά ασφαλείας (security tokens) που πρέπει να είναι μη προβλέψιμα.
  • Αναγνωριστικά περιόδων σύνδεσης (session IDs) σε web εφαρμογές.
  • Μοναδικά κλειδιά για κατανεμημένα συστήματα όπου η συγχρονισμένη παραγωγή είναι δύσκολη.
  • Δεδομένα δοκιμών που χρειάζονται τυχαίες αλλά μοναδικές τιμές.
  • Εξωτερικά αναγνωριστικά για χρήστες ή οντότητες που δεν πρέπει να αποκαλύπτουν σειριακή σειρά.

Προσοχή: Η χρήση UUID v4 ως πρωτεύον κλειδί σε βάσεις δεδομένων με B‑tree δείκτες (π.χ. MySQL InnoDB, PostgreSQL) μπορεί να προκαλέσει υψηλό κατακερματισμό. Κάθε νέα εισαγωγή τοποθετείται σε τυχαία σελίδα, αναγκάζοντας τη βάση να σπάει συχνά σελίδες για να χωρέσει τα δεδομένα. Αυτό επιβαρύνει την απόδοση εισαγωγών και αυξάνει το μέγεθος του δείκτη. Αν χρειάζεστε χρονολογική διάταξη, σκεφτείτε τα UUID v7 ή τα ULID. Αν όμως η μη προβλεψιμότητα είναι προτεραιότητα, το v4 παραμένει η σωστή επιλογή.

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

Είναι τα UUID v4 που παράγονται κρυπτογραφικά ασφαλή; Ναι. Χρησιμοποιείται η crypto.getRandomValues() η οποία είναι κρυπτογραφικά ασφαλής, βασισμένη σε εντροπία του λειτουργικού συστήματος.

Μπορώ να δημιουργήσω περισσότερα από 100 UUID v4; Το όριο της σελίδας είναι 100. Αν χρειάζεστε περισσότερα, μπορείτε να εκτελέσετε πολλαπλές γεννήσεις και να συγχωνεύσετε τα αποτελέσματα, ή να χρησιμοποιήσετε ένα script που καλεί το API του προγράμματος περιήγησης.

Γιατί υπάρχει επιλογή αφαίρεσης παυλών; Μερικές εφαρμογές αποθηκεύουν UUID χωρίς παύλες (π.χ. σε συμβολοσειρές 32 χαρακτήρων). Η επιλογή σας επιτρέπει να λάβετε την ακριβή μορφή που απαιτεί κάθε περίπτωση.

Ποια είναι η πιθανότητα να παραχθούν δύο ίδια UUID v4; Αμελητέα. Με 122 bit τυχαιότητας, η πιθανότητα σύγκρουσης παραμένει μικρότερη από 10⁻¹⁵ ακόμα και για τεράστιες ποσότητες (π.χ. 10¹⁸ αναγνωριστικά).

Μπορώ να χρησιμοποιήσω UUID v4 για αναγνωριστικά URL; Ναι, αλλά συχνά προτιμώνται μικρότερες μορφές (π.χ. NanoID) για λόγους μήκους. Αν χρειάζεστε ασφάλεια, το v4 είναι εξαιρετική επιλογή.

Η σελίδα λειτουργεί χωρίς σύνδεση; Ναι, αφού φορτωθεί μία φορά, η JavaScript εκτελείται τοπικά. Δεν απαιτείται διαδικτυακή σύνδεση για την παραγωγή.