Hashe/Krypto
UUID Generator
Generowanie UUID w wersjach 1, 3, 4, 5, 6 i 7 — losowych, czasowych i opartych na nazwie (name-based).
A UUID (Universally Unique Identifier) is a 128-bit identifier that's unique in practice without a central registry: two independent servers can generate one at the same moment and almost never collide. The versions differ in how they're generated.
Which version to pick
- v4 — fully random, the most common choice for database record IDs, session keys, and similar cases.
- v1 and v6 — based on creation time; v6 carries the same content as v1 but with the fields reordered so it sorts naturally — handy as a primary key.
- v3 and v5 — deterministic, derived from a namespace and a name (v3 uses MD5, v5 uses SHA-1) — the same input always produces the same UUID.
- v7 — the newest standard: a millisecond Unix timestamp plus a random part, sortable by time like v1/v6, but without a MAC address.
Common uses
- Primary keys in databases where auto-increment doesn't fit (distributed systems, offline-first apps).
- Session IDs, request IDs for tracing, temporary file names.
- Deterministic IDs (v5) for objects that need the same identifier across different systems given the same name.
Things to keep in mind
UUID v1 and v6 embed the generating device's MAC address — avoid them if that's an unwanted disclosure.
The format is 32 hexadecimal characters grouped with hyphens as 8-4-4-4-12 (e.g. 550e8400-e29b-41d4-a716-446655440000).
Najczęstsze pytania
Jaka jest różnica między UUID v4 a innymi wersjami?
UUID v4 jest generowany z liczb losowych lub pseudolosowych, co czyni go najprostszym wyborem bez zależności od czasu czy identyfikatorów sprzętowych. Inne wersje, jak v1, kodują znacznik czasu i adres MAC, a v5 deterministycznie wyprowadza UUID z przestrzeni nazw i nazwy.
Jak prawdopodobne jest, że dwa wygenerowane UUID się zderzą?
Wyjątkowo mało prawdopodobne. UUID v4 ma 122 losowe bity, więc trzeba by generować miliardy UUID na sekundę przez wieki, zanim kolizja stałaby się statystycznie prawdopodobna.
Czy wygenerowane tutaj UUID są gdzieś wysyłane?
Nie. Generowanie odbywa się całkowicie w Twojej przeglądarce przy użyciu kryptograficznie bezpiecznego źródła losowości — nic nie jest wysyłane na serwer.
Czym jest UUID v7 i czym jest lepszy od v4 dla baz danych?
UUID v7 osadza znacznik czasu w pierwszych bitach, dzięki czemu wartości naturalnie sortują się według czasu utworzenia — w przeciwieństwie do całkowicie losowego v4, który źle wpływa na wydajność indeksów bazy danych ze względu na chaotyczną kolejność wstawiania nowych rekordów.
Czy UUID można używać jako tajnego tokena?
W przypadku UUID v4 — tak, ponieważ jest generowany przez kryptograficznie bezpieczny generator losowości. Ale UUID v1 częściowo ujawnia czas utworzenia i adres MAC urządzenia, więc nie nadaje się tam, gdzie potrzebna jest nieprzewidywalność.