Generator UUID

Generuj w przeglądarce UUID w wersji 4 lub 7, pojedynczo albo setkę naraz.

Działa w całości w twojej przeglądarce. Nic nie jest wysyłane, logowane ani przechowywane.

Wersja

UUID to 128-bitowy identyfikator, który możesz wygenerować w dowolnym miejscu, bez pytania centralnego organu, i mimo to oczekiwać, że będzie unikalny. Dostępne są tu dwie wersje, bo rozwiązują różne problemy.

Jak to działa

Wersja 4 to 122 losowe bity plus sześć stałych bitów oznaczających wersję i wariant. Nie niesie żadnej informacji, czyli dokładnie tego chcesz od publicznego identyfikatora – i właśnie dlatego jest kiepskim klastrowanym kluczem głównym: kolejne wstawienia trafiają w niepowiązane miejsca indeksu.

Wersja 7, ustandaryzowana w RFC 9562, umieszcza 48-bitowy znacznik czasu w milisekundach przed 74 losowymi bitami. Wartości wygenerowane później sortują się za wygenerowanymi wcześniej, więc wstawienia trafiają na koniec indeksu, a zapytania o zakres czasu działają. W zamian identyfikator zdradza, kiedy został utworzony.

Losowe bity pochodzą z kryptograficznego generatora liczb losowych przeglądarki – tego samego źródła, którego używa się do kluczy – a nie z Math.random.

Najczęściej zadawane pytania

Wybrać v4 czy v7?

v7 jako klucz główny w bazie danych, gdzie uporządkowanie utrzymuje indeks w dobrej kondycji. v4, gdy identyfikator jest widoczny publicznie i nie powinien zdradzać daty utworzenia albo gdy kolejność pozwoliłaby wywnioskować, ile rekordów tworzysz na godzinę.

Czy dwa UUID mogą się powtórzyć?

W teorii tak, w praktyce nie w przypadku v4: przy 122 losowych bitach trzeba by generować miliardy na sekundę przez stulecie, żeby kolizja stała się prawdopodobna. Realnym ryzykiem jest słabe źródło losowości i dlatego tutaj używane jest źródło kryptograficzne.

A co z v1?

Wersja 1 zawiera adres MAC maszyny, która ją wygenerowała, co zdradza tożsamość sprzętu. v7 daje to samo uporządkowanie w czasie bez tej wady i jest jej nowoczesnym następcą.

Warto wiedzieć

  • Wartości są generowane w przeglądarce i nigdy nigdzie nie są wysyłane.
  • To narzędzie nie jest deterministyczne: przeładowanie strony daje nowe identyfikatory i o to właśnie chodzi.

Źródła

Wszystkie narzędzia z kategorii Kod