UUID Αποκωδικοποιητής | Ανάλυση εκδόσεων (v1, v4, v7) και χρόνου

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

Τι είναι ένας Αποκωδικοποιητής UUID;

Ο Αποκωδικοποιητής UUID είναι ένα εργαλείο που αναλύει ένα UUID (Universally Unique Identifier) και εξάγει όλες τις διαθέσιμες πληροφορίες από αυτό. Ένα UUID δεν είναι απλώς μια τυχαία σειρά χαρακτήρων – ανάλογα με την έκδοση, μπορεί να περιέχει χρονοσήμανση, πληροφορίες συστήματος ή κατακερματισμό (hash) ντετερμινιστικών δεδομένων.

Ποιες πληροφορίες μπορείτε να λάβετε από ένα UUID;

Βασικές πληροφορίες UUID

Έκδοση UUID:

  • Καθορίζει τον τύπο και τη δομή του UUID (v1, v3, v4, v5, v6, v7)
  • Εξάγεται από τον 13ο δεκαεξαδικό χαρακτήρα

Παραλλαγή:

  • RFC 4122 - Τυπική παραλλαγή UUID
  • NCS - Network Computing System (παρωχημένο)
  • Microsoft - Παραλλαγή Microsoft GUID
  • Reserved - Προορίζεται για μελλοντική χρήση

UUID v1 - Χρονοσήμανση + διεύθυνση MAC

Τι μπορείτε να λάβετε:

  • Ακριβής χρόνος δημιουργίας - ημερομηνία και ώρα με ακρίβεια 100 νανοδευτερολέπτων
  • Ακολουθία Ρολογιού - αριθμός ακολουθίας για την αποτροπή συγκρούσεων
  • Αναγνωριστικό Κόμβου - αρχικά διεύθυνση MAC, συχνά τυχαίες τιμές

Παράδειγμα:

UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Έκδοση: v1 (Χρονοσήμανση + MAC)
Παραλλαγή: RFC 4122
Ημερομηνία και ώρα: 15.10.1997 04:25:33.000
Ακολουθία Ρολογιού: 724
Αναγνωριστικό Κόμβου: 00:C0:4F:D4:30:C8

Χρήση:

  • Προσδιορισμός του χρόνου δημιουργίας μιας εγγραφής
  • Έλεγχος και εγκληματολογική ανάλυση
  • Εντοπισμός σφαλμάτων σε προβλήματα εξαρτώμενα από τον χρόνο

UUID v3/v5 - Βασισμένο σε Hash

Τι μπορείτε να λάβετε:

  • Τύπος κατακερματισμού - MD5 (v3) ή SHA-1 (v5)
  • Δεν είναι δυνατή η λήψη - αρχικού χώρου ονομάτων (namespace) και ονόματος (μονόδρομος κατακερματισμός)

Παράδειγμα:

UUID: 886313e1-3b8a-5372-9b90-0c9aee199e5d

Έκδοση: v5 (SHA-1 hash)
Παραλλαγή: RFC 4122
Τύπος: UUID βασισμένο σε Hash (ντετερμινιστικό)
Σημείωση: Ο αρχικός χώρος ονομάτων (namespace) και το όνομα δεν μπορούν να ανακτηθούν από το UUID

Χρήση:

  • Επαλήθευση ότι το UUID είναι ντετερμινιστικό
  • Αναγνώριση του τύπου UUID στη βάση δεδομένων
  • Έλεγχος της συνέπειας των αναγνωριστικών βασισμένων σε hash

UUID v4 - Τυχαίο

Τι μπορείτε να λάβετε:

  • Έκδοση - επιβεβαίωση ότι είναι τυχαίο
  • Παραλλαγή - πρότυπο RFC 4122
  • Κανένα άλλο δεδομένο - καθαρά τυχαία bit

Παράδειγμα:

UUID: f47ac10b-58cc-4372-a567-0e02b2c3d479

Έκδοση: v4 (Τυχαίο)
Παραλλαγή: RFC 4122
Τύπος: Τυχαία δημιουργημένο UUID

Χρήση:

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

UUID v6 - Ταξινομημένη χρονοσήμανση

Τι μπορείτε να λάβετε:

  • Ακριβής χρόνος δημιουργίας - αναδιαταγμένο για καλύτερη απόδοση βάσης δεδομένων
  • Ακολουθία Ρολογιού - αριθμός ακολουθίας
  • Αναγνωριστικό Κόμβου - αναγνωριστικό κόμβου

Παράδειγμα:

UUID: 1ec9414c-232a-6b00-b3c8-9e6bdeced846

Έκδοση: v6 (Ταξινομημένη χρονοσήμανση)
Παραλλαγή: RFC 4122
Ημερομηνία και ώρα: 30.01.2026 14:23:45.123
Ακολουθία Ρολογιού: 3272
Αναγνωριστικό Κόμβου: 9E:6B:DE:CE:D8:46

Χρήση:

  • Προσδιορισμός του χρόνου δημιουργίας της εγγραφής
  • Ανάλυση της χρονολογικής ταξινόμησης στη βάση δεδομένων
  • Εντοπισμός σφαλμάτων σε κατανεμημένα συστήματα

UUID v7 - Χρονοσήμανση Unix

Τι μπορείτε να λάβετε:

  • Χρονοσήμανση Unix - χιλιοστά του δευτερολέπτου από την 1.1.1970
  • Ημερομηνία και ώρα - τυπική μορφή χρονοσήμανσης Unix
  • Τυχαίο μέρος - δεν μπορεί να αποκωδικοποιηθεί

Παράδειγμα:

UUID: 017f22e2-79b0-7cc3-98c4-dc0c0c07398f

Έκδοση: v7 (Χρονοσήμανση Unix)
Παραλλαγή: RFC 4122
Ημερομηνία και ώρα: 30.01.2026 14:23:45.123

Χρήση:

  • Λήψη του χρόνου δημιουργίας σύγχρονων UUID
  • Ανάλυση χρονικής ταξινόμησης
  • Μεταφορά δεδομένων με χρονοσφραγίδες

Δομή UUID

Το UUID έχει τη μορφή: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

6ba7b810-9dad-11d1-80b4-00c04fd430c8
│      │ │  │ │  │ │  │ │           │
│      │ │  │ │  │ │  │ └───────────┴─ Κόμβος (48 bit)
│      │ │  │ │  │ └──┴─────────────── Ακολουθία Ρολογιού (14 bit)
│      │ │  │ └──┴────────────────────── Παραλλαγή (2-3 bit)
│      │ └──┴───────────────────────────── Έκδοση (4 bit) + Time High
│      └──────────────────────────────────── Time Mid (16 bit)
└─────────────────────────────────────────── Time Low (32 bit)

Εξαγωγή εκδόσεων και παραλλαγών

Έκδοση (M):

  • Θέση: 13ος δεκαεξαδικός χαρακτήρας
  • Τιμές: 1-7 (διαφορετικές εκδόσεις UUID)

Παραλλαγή (N):

  • Θέση: 17ος δεκαεξαδικός χαρακτήρας
  • 0-7: NCS (Δεσμευμένο)
  • 8-B: RFC 4122 (πρότυπο)
  • C-D: Microsoft
  • E-F: Μελλοντικό (Δεσμευμένο)

Πρακτικά παραδείγματα

Εντοπισμός σφαλμάτων - Εύρεση χρόνου δημιουργίας εγγραφής

Σενάριο: Ένας χρήστης αναφέρει ότι τα δεδομένα του εξαφανίστηκαν. Πρέπει να μάθετε πότε δημιουργήθηκε η εγγραφή.

UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
Αποκωδικοποιημένο: 15.10.1997 04:25:33.000

→ Η εγγραφή δημιουργήθηκε το 1997

Εγκληματολογική ανάλυση - Επαλήθευση χρονολογικής σειράς

Σενάριο: Έλεγχος αν τα γεγονότα συνέβησαν με τη σωστή σειρά.

UUID 1: 1ec9414c-232a-6b00-b3c8-9e6bdeced846 → 30.01.2026 14:23:45
UUID 2: 1ec9414d-557b-6a00-8f32-1234567890ab → 30.01.2026 14:25:12

→ Το UUID 2 δημιουργήθηκε αργότερα (σωστή σειρά)

Αναγνώριση του τύπου UUID στη βάση δεδομένων

Σενάριο: Έχετε μικτά UUID στη βάση δεδομένων και πρέπει να γνωρίζετε ποια είναι τυχαία και ποια έχουν χρονοσήμανση.

f47ac10b-58cc-4372-a567-0e02b2c3d479 → v4 (τυχαίο, χωρίς χρονοσήμανση)
6ba7b810-9dad-11d1-80b4-00c04fd430c8 → v1 (έχει χρονοσήμανση)
017f22e2-79b0-7cc3-98c4-dc0c0c07398f → v7 (έχει χρονοσήμανση)

→ Μόνο τα UUID v1 και v7 περιέχουν πληροφορίες χρόνου

Περιορισμοί και τι δεν μπορεί να ληφθεί

❌ UUID v3/v5 - Δεν μπορεί να αποκωδικοποιηθεί το hash

Αδύνατο:

  • Να ανακτηθεί ο αρχικός χώρος ονομάτων (namespace)
  • Να ανακτηθεί το αρχικό όνομα/τιμή
  • Να προσδιοριστεί ποια δεδομένα έχουν κατακερματιστεί (hashed)

Λόγος: Οι MD5 και SHA-1 είναι μονόδρομες συναρτήσεις κατακερματισμού (hash).

❌ UUID v4 - Κανένα κρυφό δεδομένο

Αδύνατο:

  • Να ληφθούν οποιαδήποτε μεταδεδομένα
  • Να προσδιοριστεί ο χρόνος δημιουργίας
  • Να αναγνωριστεί η πηγή

Λόγος: Το UUID v4 είναι καθαρά τυχαίο, δεν περιέχει δομημένες πληροφορίες.

⚠️ UUID v1/v6 - Το Αναγνωριστικό Κόμβου μπορεί να είναι τυχαίο

Περιορισμοί:

  • Σε σύγχρονες υλοποιήσεις, το Αναγνωριστικό Κόμβου είναι συχνά τυχαίο (όχι πραγματική διεύθυνση MAC)
  • Λόγω προστασίας της ιδιωτικής ζωής, οι διευθύνσεις MAC συχνά αντικαθίστανται με τυχαίες τιμές
  • Δεν είναι δυνατή η αξιόπιστη αναγνώριση ενός συγκεκριμένου μηχανήματος

Επικύρωση UUID

Ο αποκωδικοποιητής λειτουργεί επίσης ως επικυρωτής UUID.

Έλεγχος εγκυρότητας UUID

Ο αποκωδικοποιητής επικυρώνει αυτόματα:

  • ✅ Σωστή μορφή (8-4-4-4-12 δεκαεξαδικοί χαρακτήρες)
  • ✅ Έγκυροι δεκαεξαδικοί χαρακτήρες (0-9, a-f)
  • ✅ Σωστό μήκος (36 χαρακτήρες συμπεριλαμβανομένων των παύλων, 32 χωρίς)

Αναγνώριση μη έγκυρων UUID

Μη έγκυρα παραδείγματα:

❌ 6ba7b810-9dad-11d1-80b4          (πολύ μικρό)
❌ 6ba7b810-9dad-11d1-80b4-GHIJKLMN (μη έγκυροι χαρακτήρες)
❌ 6ba7b81-09dad-11d1-80b4-00c04fd4 (λανθασμένη μορφή)

Για προγραμματιστές

Υλοποίηση σε JavaScript

// Extrakce verze z UUID
function getUUIDVersion(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    return parseInt(cleaned[12], 16);
}

// Extrakce timestampu z UUID v7
function extractV7Timestamp(uuid) {
    const cleaned = uuid.replace(/-/g, '');
    const timeHi = parseInt(cleaned.substring(0, 8), 16);
    const timeLow = parseInt(cleaned.substring(8, 12), 16);
    const unixMs = Number(BigInt("0x" + cleaned.substring(0, 12)) >> 16n);
    return new Date(unixMs);
}

// Příklad
const uuid = '017f22e2-79b0-7cc3-98c4-dc0c0c07398f';
console.log(getUUIDVersion(uuid)); // 7
console.log(extractV7Timestamp(uuid)); // Date object

Επικύρωση UUID χρησιμοποιώντας Regex

const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;

function isValidUUID(uuid) {
    return uuidRegex.test(uuid);
}

Συχνές Ερωτήσεις (FAQ)

Μπορώ να λάβω τον χρόνο δημιουργίας από ένα UUID v4; Όχι, το UUID v4 είναι καθαρά τυχαίο και δεν περιέχει πληροφορίες χρόνου. Για UUID με χρόνο, χρησιμοποιήστε τα v1, v6 ή v7.
Γιατί το Αναγνωριστικό Κόμβου (Node ID) στο UUID v1 είναι τυχαίο αντί για διεύθυνση MAC; Οι σύγχρονες υλοποιήσεις χρησιμοποιούν τυχαία Αναγνωριστικά Κόμβου λόγω προστασίας της ιδιωτικής ζωής. Η αποκάλυψη μιας πραγματικής διεύθυνσης MAC θα μπορούσε να αποτελέσει κίνδυνο ασφαλείας.
Μπορώ να ανακτήσω το αρχικό URL ή όνομα από ένα UUID v5; Όχι, το UUID v5 χρησιμοποιεί SHA-1 hash, το οποίο είναι μονόδρομο. Τα αρχικά δεδομένα δεν μπορούν να ανακτηθούν από τον κατακερματισμό.
Πώς μπορώ να ξέρω ότι ένα UUID είναι τυχαίο (v4); Ο αποκωδικοποιητής θα εμφανίσει την έκδοση του UUID. Εάν η έκδοση είναι 4, πρόκειται για ένα τυχαία δημιουργημένο UUID χωρίς πρόσθετα μεταδεδομένα.
Είναι ακριβής η χρονοσήμανση στο UUID v1; Ναι, το UUID v1 έχει θεωρητική ακρίβεια 100 νανοδευτερολέπτων (από τις 15 Οκτωβρίου 1582). Στην πράξη, εξαρτάται από την ακρίβεια του ρολογιού του συστήματος.
Μπορώ να χρησιμοποιήσω τον αποκωδικοποιητή για επικύρωση UUID; Ναι, ο αποκωδικοποιητής επικυρώνει αυτόματα τη μορφή του UUID και εμφανίζει ένα σφάλμα εάν το UUID δεν είναι έγκυρο.

Ασφάλεια και Ιδιωτικότητα

Τι αποκαλύπτει ένα UUID;

UUID v1/v6:

  • ⚠️ Χρόνος δημιουργίας - μπορεί να αποκαλύψει τον χρονισμό των λειτουργιών
  • ⚠️ Πιθανώς διεύθυνση MAC - κίνδυνος αναγνώρισης συσκευής (σε σύγχρονες υλοποιήσεις τυχαίο)

UUID v4:

  • Ασφαλές - δεν περιέχει μεταδεδομένα

UUID v7:

  • ⚠️ Χρονοσήμανση Unix - αποκαλύπτει τον χρόνο δημιουργίας

Συστάσεις

  • ✅ Χρησιμοποιήστε UUID v4 για μέγιστη ιδιωτικότητα
  • ⚠️ Να είστε προσεκτικοί με τα UUID v1/v6/v7 σε δημόσια API (αποκαλύπτουν πληροφορίες χρόνου)
  • ✅ Το UUID v5 είναι ντετερμινιστικό, αλλά δεν αποκαλύπτει τα αρχικά δεδομένα
  • ⚠️ Το MD5 Hash δεν είναι εντελώς ασφαλές

Ενδιαφέροντα στοιχεία

  • Παλαιότερο δυνατό UUID v1: 15 Οκτωβρίου 1582 00:00:00 (έναρξη Γρηγοριανού ημερολογίου)
  • Νεότερο UUID v7: 10889-08-02 05:31:50.655 (όριο χρονοσήμανσης Unix σε ms)
  • Ακρίβεια UUID v1: 100 νανοδευτερόλεπτα (θεωρητικά 10 εκατομμύρια UUID ανά δευτερόλεπτο)
  • UUID Nil: 00000000-0000-0000-0000-000000000000 (ειδικό “κενό” UUID)
  • UUID Max: ffffffff-ffff-ffff-ffff-ffffffffffff (μέγιστη τιμή)

Χρήση σε διάφορα συστήματα

PostgreSQL

-- Extrakce verze UUID
SELECT substring(id::text, 15, 1) as version
FROM users;

-- Filtrování podle verze
SELECT *
FROM users
WHERE substring(id::text, 15, 1) = '4';

MySQL

-- Kontrola UUID formátu
SELECT id
FROM users
WHERE id REGEXP '^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$';