{ }JSONKit.tools

Generator UUID

Generuj losowe UUID v4 albo v7 sortowane w czasie, po jednym albo po sto naraz. Powstają w Twojej przeglądarce z jej kryptograficznego źródła losowości i nigdy nigdzie nie trafiają.

Ile

UUID-y

O tym narzędziu

UUID to 128 bitów zapisanych jako 32 cyfry szesnastkowe, na tyle unikalnych, że osobne systemy mogą wydawać identyfikatory bez uzgadniania między sobą. Wersja 4 wypełnia prawie całość losowością, i to właśnie czyni ją w praktyce odporną na kolizje oraz nie do odgadnięcia. Wersja 7 przeznacza pierwsze 48 bitów na znacznik czasu w milisekundach, wymieniając odrobinę entropii na wartości sortujące się według czasu utworzenia — zauważalnie łaskawsze dla indeksu bazy danych. Obie powstają tutaj przez crypto.getRandomValues, czyli to samo źródło, które służy do kluczy i tokenów.

Jak używać

  1. 1Wybierz wersję — v4 do identyfikatorów nieprzezroczystych, v7 do kluczy w bazie danych.
  2. 2Wybierz, ile ich potrzebujesz, i dostosuj wielkość liter albo myślniki, jeśli docelowy system jest wybredny.
  3. 3Naciśnij Kopiuj, aby zabrać całą listę, albo Wygeneruj ponownie po świeżą porcję.

Częste pytania

›Czy te UUID-y są bezpieczne jako identyfikatory?

Tak. Pochodzą z kryptograficznego źródła losowości przeglądarki, a nie z Math.random, więc kolizje nie są praktycznym zmartwieniem: UUID v4 ma 122 bity losowości i trzeba by generować miliardy na sekundę przez dziesięciolecia, zanim któryś się powtórzy.

›Czym jest v7 i kiedy go używać?

UUID v7 zaczyna się 48-bitowym znacznikiem czasu w milisekundach, więc wartości sortują się według czasu utworzenia. W bazie danych ma to znaczenie: losowe klucze v4 rozrzucają zapisy po całym indeksie B-drzewa, a klucze v7 dokładają się po kolei i utrzymują indeks zwarty. Używaj v7 do kluczy głównych, a v4 wtedy, gdy identyfikator nie powinien niczego zdradzać.

›Czy mogę dostać je bez myślników albo wielkimi literami?

Oba przełączniki są na pasku narzędzi. Myślniki to wyłącznie formatowanie — w obu przypadkach te same 128 bitów — ale niektóre systemy przechowują zwartą postać 32-znakową, a starsze narzędzia Microsoftu oczekują wielkich liter.

›Czy są generowane na serwerze?

Nie, i o to właśnie chodzi. Każda wartość powstaje w Twojej przeglądarce i nigdy nie jest przesyłana, więc nic, co stąd skopiujesz, nie było widziane przez nikogo innego.

›Czym jest UUID nil?

Same zera — 00000000-0000-0000-0000-000000000000. To umowny sposób powiedzenia „brak identyfikatora” w polu, które musi zawierać UUID.