Generator UUID
Twórz losowe identyfikatory UUID w wersji 4, od jednego do stu naraz, i kopiuj je jako listę. Pochodzą z kryptograficznie bezpiecznego generatora liczb losowych przeglądarki, a narzędzie do sprawdzania podaje wersję i wariant każdego wklejonego UUID.
Znaki: 0 · słowa: 0 · wiersze: 0
Działa w całości w tej karcie przeglądarki. Twój tekst nie jest wysyłany ani zapisywany.
Wersje UUID
Wersja to pierwsza cyfra trzeciej grupy; wariant jest zakodowany w pierwszej cyfrze czwartej grupy (8, 9, a lub b dla UUID zgodnych z RFC). Przykłady pochodzą z wektorów testowych RFC 9562.
| Wersja | Zbudowany na bazie | Przykład |
|---|---|---|
| v1 | Znacznik czasu kalendarza gregoriańskiego + identyfikator węzła (MAC) | c232ab00-9414-11ec-b3c8-9f6bdeced846 |
| v3 | Skrót MD5 przestrzeni nazw + nazwy | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v4 | 122 losowe bity | 919108f7-52d1-4320-9bac-f847db4148a8 |
| v5 | Skrót SHA-1 przestrzeni nazw + nazwy | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| v6 | Znacznik czasu v1 w zmienionej kolejności, aby identyfikatory sortowały się według czasu | 1ec9414c-232a-6b00-b3c8-9f6bdeced846 |
| v7 | Milisekundy Unix + losowe bity, sortowalny | 017f22e2-79b0-7cc3-98c4-dc0c0c07398f |
| v8 | Własny układ zdefiniowany przez aplikację | 2489e9ad-2ee2-8e00-8ec9-32d5f69181c0 |
Czym jest UUID i jak go odczytać
UUID (ang. universally unique identifier, w oprogramowaniu Microsoftu nazywany GUID) to 128-bitowa liczba zapisywana jako 32 cyfry szesnastkowe w grupach 8-4-4-4-12, na przykład f47ac10b-58cc-4372-a567-0e02b2c3d479. Został ustandaryzowany w RFC 4122 w 2005 roku; w maju 2024 roku ten dokument zastąpiono RFC 9562, który zachowuje dotychczasowe wersje i dodaje trzy nowe. Dwie pozycje są stałe: pierwsza cyfra trzeciej grupy to wersja (czwórka w 4372), a pierwsza cyfra czwartej grupy wskazuje wariant, który w każdym UUID zgodnym z RFC wynosi 8, 9, a lub b.
Wersja 4 wypełnia pozostałe 122 bity losowymi danymi. Ta przestrzeń jest tak ogromna, że aby uzyskać 50% szans na choćby jeden duplikat, trzeba by wygenerować około 2,7 trylionów (2,7 × 10¹⁸) identyfikatorów. Dlatego systemy tworzą identyfikatory v4 niezależnie na wielu maszynach, bez żadnej koordynacji. Ta strona używa crypto.randomUUID lub, gdy go brakuje, crypto.getRandomValues, nigdy Math.random, którego wynik nie jest projektowany jako nieprzewidywalny. Opcje Wielkie litery i Bez myślników zmieniają tylko formatowanie; wartość pozostaje ta sama, a większość parserów akceptuje oba warianty zapisu.
v4, v7 i pozostałe wersje
Wersje 1 i 6 powstają ze znacznika czasu i identyfikatora węzła, pierwotnie adresu MAC komputera, co zdradza, gdzie i kiedy utworzono identyfikator. Wersje 3 i 5 haszują przestrzeń nazw i nazwę za pomocą MD5 lub SHA-1, więc te same dane wejściowe zawsze dają ten sam UUID. Wersja 8 to dowolny układ dla własnych schematów. Najważniejsza nowość to wersja 7: zaczyna się od 48-bitowego uniksowego znacznika czasu w milisekundach, a resztę wypełniają losowe bity, więc identyfikatory sortują się według czasu utworzenia.
To uporządkowanie jest powodem, by rozważyć v7 jako klucze główne w bazach danych. Losowe klucze v4 trafiają w dowolne miejsca indeksu B-drzewa, dzielą strony i pogarszają lokalność pamięci podręcznej w miarę wzrostu tabeli, a klucze v7 przybywają mniej więcej rosnąco jak kolumna z autoinkrementacją, a mimo to można je generować bez centralnego licznika. Wybierz v4, gdy identyfikator ma niczego nie ujawniać, także momentu utworzenia; wybierz v7, gdy liczą się wydajność wstawiania i porządek czasowy. UUID to identyfikator, a nie sekret: do haseł i kluczy API użyj osobnego generatora haseł. Więcej koderów i inspektorów znajdziesz w narzędziach dla programistów.
Najczęściej zadawane pytania
- Czy dwa losowo wygenerowane UUID mogą być identyczne?
- Teoretycznie tak, w praktyce nie. Przy 122 losowych bitach nawet miliard UUID v4 na sekundę przez około 86 lat dałby tylko około 50% szans na jedną kolizję, pod warunkiem że źródło losowości jest poprawne.
- Czym różni się UUID od GUID?
- W istocie żadnej. GUID to nazwa Microsoftu dla tego samego 128-bitowego identyfikatora. Niektóre narzędzia Microsoftu pokazują GUID wielkimi literami lub w nawiasach klamrowych, co sprawdzarka tutaj akceptuje.
- Jak sprawdzić, w jakiej wersji jest UUID?
- Spójrz na pierwszą cyfrę trzeciej grupy: 4 oznacza losowy, 7 uporządkowany w czasie, 1 znacznik czasu plus węzeł. Wklej go do narzędzia Sprawdź UUID, aby zobaczyć wersję i wariant.
- Czy jako klucze w bazie danych lepiej używać UUIDv7 zamiast v4?
- Często tak. Klucze v7 są uporządkowane w czasie, co utrzymuje zwarte indeksy B-drzewa i szybkie wstawianie. Zostań przy v4, jeśli czas utworzenia zapisany w identyfikatorze v7 ma pozostać prywatny.
- Czy UUID można bezpiecznie używać jako tokenu do resetowania hasła?
- UUID v4 z bezpiecznego generatora ma 122 losowe bity, co wystarcza, by był nie do odgadnięcia, ale wiele bibliotek oferuje dedykowane funkcje tokenów z jawnym czasem ważności. Nigdy nie używaj wersji opartych na czasie, takich jak v1 czy v7, jako sekretów.