Επικυρωτής UUID
Επικυρώστε και αναλύστε τα UUIDs (Universally Unique Identifiers) άμεσα με τον δωρεάν επικυρωτή UUID. Ελέγξτε τη μορφή UUID, προσδιορίστε την έκδοση (v1, v3, v4, v5), προσδιορίστε τον τύπο παραλλαγής και εξάγετε χρονοσφραγίδες από UUIDs που βασίζονται στο χρόνο. Απαραίτητο για προγραμματιστές που εργάζονται με μοναδικά αναγνωριστικά.
Συχνές ερωτήσεις
Το UUID (Universally Unique Identifier) είναι ένας αριθμός 128 bit που χρησιμοποιείται για τη μοναδική ταυτοποίηση πληροφοριών σε συστήματα υπολογιστών. Εμφανίζονται ως 32 δεκαεξαδικά ψηφία με τη μορφή xxxxxxxx-xxxxx-xxxxxx-xxxxxx-xxxxxxxxxxxxxxxxxx, τα UUID είναι σχεδόν εγγυημένα μοναδικά σε παγκόσμιο επίπεδο χωρίς να απαιτείται κεντρική αρχή.
Το UUID v1 χρησιμοποιεί χρονοσφραγίδα και διεύθυνση MAC (βάσει χρόνου). Το UUID v2 είναι DCE Security (σπάνια χρησιμοποιείται). Το UUID v3 χρησιμοποιεί κατακερματισμό MD5 ενός χώρου ονομάτων και ενός ονόματος. Το UUID v4 παράγεται τυχαία (πιο συνηθισμένο). Το UUID v5 χρησιμοποιεί κατακερματισμό SHA-1. Κάθε έκδοση έχει συγκεκριμένες περιπτώσεις χρήσης με βάση τις απαιτήσεις μοναδικότητας και τη μέθοδο παραγωγής.
Ένα έγκυρο UUID πρέπει να έχει μήκος 36 χαρακτήρων (32 δεκαεξαδικά ψηφία και 4 παύλες) στη μορφή 8-4-4-4-4-12. Ο αριθμός έκδοσης εμφανίζεται στη 13η θέση και τα bits παραλλαγής καθορίζουν το πρότυπο UUID. Ο επικυρωτής μας ελέγχει τη μορφή, προσδιορίζει την έκδοση, επαληθεύει την παραλλαγή και εξάγει χρονοσφραγίδες από τα v1 UUIDs.
Το UUID (Universally Unique Identifier) και το GUID (Globally Unique Identifier) είναι ουσιαστικά η ίδια έννοια. Το GUID είναι ο όρος της Microsoft για το UUID. Και οι δύο αντιπροσωπεύουν μοναδικά αναγνωριστικά 128 bit, αν και τα GUID μπορεί μερικές φορές να χρησιμοποιούν διαφορετικές συμβάσεις μορφοποίησης στα συστήματα της Microsoft.
Το UUID v1 περιέχει εξαγώγιμη χρονοσφραγίδα και πληροφορίες κόμβου (διεύθυνση MAC). Ο επικυρωτής μας εμφανίζει τη χρονοσφραγίδα δημιουργίας για τα UUID v1. Τα UUID v3/v5 περιέχουν τιμές κατακερματισμού αλλά όχι εξαγώγιμα μεταδεδομένα. Το UUID v4 είναι καθαρά τυχαίο χωρίς ενσωματωμένες πληροφορίες πέραν της έκδοσης και της παραλλαγής.
Το UUID v4 (τυχαίο) συνιστάται για τις περισσότερες εφαρμογές λόγω της απλότητας και της απουσίας ανησυχιών για την προστασία της ιδιωτικής ζωής. Χρησιμοποιήστε v1 εάν χρειάζεστε χρονική σειρά. Χρησιμοποιήστε v3/v5 αν χρειάζεστε ντετερμινιστικά UUIDs από ονόματα (το v5 προτιμάται έναντι του v3 λόγω του ισχυρότερου κατακερματισμού SHA-1 έναντι του MD5).
Τα UUID είναι πιθανώς μοναδικά, όχι απολύτως μοναδικά. Το UUID v4 έχει ~5,3 × 10^36 πιθανές τιμές, καθιστώντας την πιθανότητα σύγκρουσης αμελητέα (1 στα 103 τρισεκατομμύρια αν δημιουργούνται 1 δισεκατομμύριο UUIDs ανά δευτερόλεπτο για 85 χρόνια). Για πρακτικούς σκοπούς, θεωρούνται μοναδικά.
Η παραλλαγή υποδεικνύει ποιο πρότυπο UUID χρησιμοποιείται. Το RFC 4122 είναι η πιο κοινή παραλλαγή (το πρότυπο του Διαδικτύου). Άλλες παραλλαγές περιλαμβάνουν τα Reserved (συμβατότητα με NCS προς τα πίσω), Microsoft (GUID) και Reserved (μελλοντική χρήση). Ο επικυρωτής μας αναγνωρίζει την παραλλαγή από τα bits παραλλαγής του UUID.
Ναι, τα UUID λειτουργούν ως πρωτεύοντα κλειδιά και προσφέρουν πλεονεκτήματα: είναι παγκοσμίως μοναδικά (χρήσιμα για κατανεμημένα συστήματα), δεν απαιτείται κεντρική γεννήτρια αναγνωριστικών και είναι δύσκολο να τα μαντέψει κανείς. Τα μειονεκτήματα περιλαμβάνουν μεγαλύτερο αποθηκευτικό χώρο (16 bytes έναντι 4-8 για τους ακέραιους) και πιθανές επιπτώσεις στην απόδοση των ευρετηρίων. Το UUID v1 αποδίδει καλύτερα για διαδοχικές εισαγωγές.
Οι περισσότερες γλώσσες προγραμματισμού διαθέτουν ενσωματωμένη παραγωγή UUID: Python (uuid.uuid4()), Java (UUID.randomUUID()), PHP (uniqid() ή πακέτο ramsey/uuid) και Node.js (ενότητα crypto). Διατίθενται επίσης διαδικτυακές γεννήτριες για σκοπούς δοκιμής.
Το UUID NIL (00000000-0000-0000-0000-0000-0000-000000000000) είναι ένα ειδικό UUID με όλα τα bit μηδενισμένα. Χρησιμοποιείται για την αναπαράσταση μηδενικών ή απροσδιόριστων τιμών σε περιβάλλοντα που απαιτούν ένα UUID, παρόμοια με το πώς λειτουργεί το null για άλλους τύπους δεδομένων.
Όχι, τα UUID δεν είναι ευαίσθητα στην πεζότητα. Και οι κεφαλαίοι και οι πεζοί δεκαεξαδικοί χαρακτήρες είναι έγκυροι (550e8400-e29b-41d4-a716-446655440000 ισούται με 550E8400-E29B-41D4-A716-446655440000). Ωστόσο, τα πεζά γράμματα είναι η συνήθης σύμβαση για την εμφάνιση.
Μόνο το UUID v1 αποκαλύπτει πληροφορίες - περιέχει χρονοσφραγίδα και διεύθυνση MAC (αν και η MAC μπορεί να είναι τυχαία για λόγους προστασίας της ιδιωτικότητας). Τα UUID v3/v5 είναι μονόδρομοι κατακερματισμοί. Το UUID v4 είναι τυχαίο και δεν αποκαλύπτει τίποτα. Ο επικυρωτής μας εξάγει τα διαθέσιμα μεταδεδομένα όπως η έκδοση, η παραλλαγή και οι χρονοσφραγίδες v1.
Τα συνήθη σφάλματα περιλαμβάνουν: εσφαλμένο μήκος (πρέπει να είναι 36 χαρακτήρες με παύλες), άκυρους χαρακτήρες (πρέπει να είναι δεκαεξαδικά 0-9, a-f), ελλείπουσες ή λανθασμένες παύλες, άκυρο ψηφίο έκδοσης ή άκυρα bits παραλλαγής. Ο επικυρωτής μας παρέχει συγκεκριμένα μηνύματα σφάλματος για να βοηθήσει στον εντοπισμό προβλημάτων μορφοποίησης.
