Identyfikator wersji UUID
Identyfikuj wersję i wariant dowolnego UUID. Obsługuje wersje 1–8, Nil oraz Max UUID ze szczegółowymi informacjami.
Wejście
Wyjście
Wynik
Brak wartości
Instrukcja
Czym jest wersja UUID?
UUID (Universally Unique Identifier) to 128-bitowy identyfikator standaryzowany przez RFC 4122 i RFC 9562. Każdy UUID zawiera pole wersji, które wskazuje sposób jego wygenerowania. Wersja jest zakodowana w 13. cyfrze szesnastkowej (starszy nibble 7. bajtu) i określa algorytm oraz źródła danych użyte do utworzenia identyfikatora.
Obecnie zdefiniowanych jest osiem wersji (v1 do v8) oraz dwie specjalne formy: Nil UUID (same zera) i Max UUID (same jedynki). Każda wersja służy innemu celowi — niektóre osadzają znaczniki czasu umożliwiające sortowanie chronologiczne, inne używają skrótów kryptograficznych do deterministycznego generowania, a jeszcze inne opierają się na liczbach losowych dla prostoty. Znajomość wersji pomaga zrozumieć właściwości, implikacje bezpieczeństwa i zamierzone zastosowanie danego UUID.
Pole wariantu, zakodowane oddzielnie, identyfikuje, z którą specyfikacją UUID jest zgodny dany identyfikator. Większość współczesnych UUID używa wariantu RFC 4122/RFC 9562, jednak starsze systemy mogą generować warianty NCS lub Microsoft.
Opis narzędzia
Narzędzie przyjmuje dowolny UUID jako dane wejściowe i identyfikuje jego numer wersji, nazwę wersji, wariant, metodę generowania oraz szczegółowy opis działania danej wersji. Obsługuje wszystkie standardowe wersje (v1 do v8), a także Nil i Max UUID. Wystarczy wkleić UUID, aby natychmiast zobaczyć jego pełną analizę.
Przykłady
| Wejściowy UUID | Wersja | Nazwa |
|---|---|---|
550e8400-e29b-41d4-a716-446655440000 |
4 | Losowy (v4) |
6ba7b810-9dad-11d1-80b4-00c04fd430c8 |
1 | Oparty na czasie (v1) |
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 |
7 | Oparty na czasie Unix Epoch (v7) |
00000000-0000-0000-0000-000000000000 |
Nil | Nil UUID |
ffffffff-ffff-ffff-ffff-ffffffffffff |
Max | Max UUID |
Funkcje
- Wykrywa wszystkie wersje UUID od v1 do v8, a także Nil i Max UUID
- Identyfikuje wariant (RFC 4122/9562, NCS, Microsoft lub Reserved)
- Wyświetla czytelny dla człowieka opis wyjaśniający sposób generowania danej wersji
- Pokazuje metodę generowania użytą do utworzenia UUID
- Natychmiastowa identyfikacja w czasie rzeczywistym podczas wpisywania lub wklejania
Przypadki użycia
- Debugowanie systemów rozproszonych: Sprawdź, czy UUID w logach są oparte na czasie (v1/v6/v7) czy losowe (v4), aby ustalić, czy zawierają osadzone znaczniki czasu, które można wyodrębnić.
- Optymalizacja baz danych: Zidentyfikuj, czy klucze główne używają sortowalnej wersji UUID (v6, v7) czy losowej (v4), która może powodować fragmentację indeksów.
- Audyt bezpieczeństwa: Wykryj UUID v1, które mogą ujawniać adresy MAC lub znaczniki czasu, pomagając ocenić ryzyko ujawnienia informacji.
Jak to działa
Narzędzie analizuje szesnastkową strukturę UUID, aby wyodrębnić dwa kluczowe pola:
- Wersja: Odczytywana z 13. cyfry szesnastkowej (indeks 12 w oczyszczonym ciągu szesnastkowym). Ten nibble bezpośrednio koduje numer wersji (1–8). Nil i Max UUID są wykrywane przez sprawdzenie, czy wszystkie bity wynoszą zero lub jeden.
- Wariant: Określany przez najbardziej znaczące bity 17. cyfry szesnastkowej (indeks 16). Wzorzec bitowy odpowiada jednej z czterech rodzin wariantów: NCS, RFC 4122/9562, Microsoft lub Reserved.
Wersje UUID w skrócie
| Wersja | Nazwa | Kluczowa właściwość |
|---|---|---|
| v1 | Oparty na czasie | Znacznik czasu + adres MAC |
| v2 | DCE Security | Znacznik czasu + MAC + POSIX UID/GID |
| v3 | Oparty na nazwie (MD5) | Deterministyczny z przestrzeni nazw + nazwa |
| v4 | Losowy | 122 losowe bity |
| v5 | Oparty na nazwie (SHA-1) | Deterministyczny, silniejszy skrót niż v3 |
| v6 | Przestawiony oparty na czasie | Sortowalna odmiana v1 |
| v7 | Oparty na czasie Unix Epoch | Znacznik czasu Unix w ms + losowy, idealny dla kluczy DB |
| v8 | Niestandardowy | Specyficzny dla dostawcy lub eksperymentalny |
| Nil | Nil UUID | Wszystkie 128 bitów ustawione na zero |
| Max | Max UUID | Wszystkie 128 bitów ustawione na jeden |
FAQ
Jaka jest różnica między wersją a wariantem UUID? Wersja wskazuje algorytm generowania (oparty na czasie, losowy, oparty na skrócie itp.), natomiast wariant identyfikuje, z którą specyfikacją UUID jest zgodny (RFC 4122, NCS, Microsoft). Większość spotykanych UUID będzie wariantu RFC 4122/9562.
Której wersji UUID powinienem używać? W przypadku większości zastosowań v4 (losowy) jest najprostszy i najszerzej obsługiwany. Jeśli potrzebujesz sortowalnych identyfikatorów dla kluczy głównych bazy danych, v7 jest nowoczesnym zaleceniem. Użyj v5, gdy potrzebujesz deterministycznych UUID wyprowadzonych z nazwy.
Czy to narzędzie może wyodrębnić znacznik czasu z UUID? Narzędzie identyfikuje wyłącznie wersję i wariant. Aby wyodrębnić osadzone znaczniki czasu z UUID v1, v6 lub v7, użyj dedykowanego narzędzia UUID Time Extractor.