Przejdź do treści głównej
FreeOnlineTools Go
Polski
Wyjaśnienie

Co to jest identyfikator UUID? Pełne wyjaśnienie uniwersalnie unikalnych identyfikatorów

Autor: FreeOnlineTools Team · Zaktualizowano 2026-09-02

Szybka odpowiedź

UUID to 128-bitowy identyfikator reprezentowany jako 36 znaków (32 cyfry hex plus 4 myślniki). UUIDy są praktycznie unikalne bez koordynacji —prawdopodobieństwo kolizji jest znikome. UUID v4 (random) to najpowszechniejsza wersja. Użyj naszego darmowego UUID Generator.

Wstęp

UUID (Universally Unique Identifier), nazywany też GUID (Globally Unique Identifier) w terminologii Microsoft, to 128-bitowy identyfikator praktycznie gwarantowany do bycia unikalnym bez centralnej koordynacji. UUIDy są zdefiniowane przez RFC 4122 i powszechnie używane jako klucze główne baz danych, ID żądań, tokeny sesji i identyfikatory systemów rozproszonych. Najpowszechniejsza wersja to UUID v4, która używa losowych bitów.

Krok po kroku

  1. Zrozum strukturę UUID

    UUID ma 128 bitów i jest wyświetlany jako 32 cyfry szesnastkowe w 5 grupach: 8-4-4-4-12, oddzielone myślnikami (np. 550e8400-e29b-41d4-a716-446655440000). 13. cyfra wskazuje wersję (4 dla v4), a 17. cyfra oznacza wariant.

  2. Poznaj wersje UUID

    v1: oparty na czasie (znacznik czasu + adres MAC) — uporządkowany według czasu, ale powoduje wyciek tożsamości. v3: oparty na nazwie z haszowaniem MD5. wersja 4: losowa — najczęstsza, bez obaw o prywatność. v5: oparty na nazwie z haszowaniem SHA-1. v6 i v7: uporządkowane czasowo z lepszą prywatnością w porównaniu z wersją 1.

  3. Zrozumienie prawdopodobieństwa kolizji

    UUID v4 ma 2^122 możliwych wartości. Prawdopodobieństwo kolizji pomiędzy 103 bilionami UUID wynosi 50%. W praktyce (miliony identyfikatorów) prawdopodobieństwo kolizji wynosi praktycznie zero — identyfikatory UUID można generować niezależnie, bez koordynacji.

  4. Używaj odpowiednio identyfikatorów UUID

    Używaj wersji 4 w prawie wszystkich przypadkach użycia (identyfikatory baz danych, identyfikatory żądań, tokeny sesji). Użyj wersji 7, jeśli potrzebujesz identyfikatorów uporządkowanych czasowo dla lokalizacji bazy danych. Unikaj v1 w kontekstach wrażliwych na bezpieczeństwo – osadza znacznik czasu i adres MAC.

Przykłady

UUID v4 (losowo)

Wejście: Wygenerowano za pomocą crypto.getRandomValues

Wyjście: 550e8400-e29b-41d4-a716-446655440000

UUID v1 (na podstawie czasu)

Wejście: Znacznik czasu + adres MAC

Wyjście: a3bbf0ee-d6e4-11ed-a5b3-3c9703e8b4a1

Zero __ZACHOWAJ_15__

Wejście: All zeros

Wyjście: 00000000-0000-0000-0000-000000000000

Typowe problemy

  • Używanie Math.random() do identyfikatorów UUID — nie jest to bezpieczne kryptograficznie. Użyj crypto.getRandomValues() lub crypto.randomUUID() w przeglądarkach.
  • Przechowywanie identyfikatorów UUID w postaci ciągów — ciąg UUID ma 36 bajtów; przechowywany jako typ UUID (16 bajtów), jest bardziej wydajny. Jeśli jest dostępny, używaj natywnego typu UUID w bazach danych.
  • Używanie wersji 1 w kontekstach wrażliwych na bezpieczeństwo — wersja 1 osadza znacznik czasu i adres MAC, co może spowodować wyciek informacji o tym, kiedy i gdzie został wygenerowany. Użyj wersji 4, aby zachować anonimowość.
  • Zakładając, że identyfikatory UUID są naprawdę unikalne — są one praktycznie unikalne (prawdopodobieństwo kolizji jest znikome), ale nie są gwarantowane matematycznie.

Porady

  • Używaj UUID v4 w prawie wszystkich przypadkach użycia — jest to losowe, nie ma żadnych obaw dotyczących prywatności i jest obsługiwane przez wszystkie nowoczesne bazy danych.
  • Użyj crypto.randomUUID() w nowoczesnych przeglądarkach, aby uzyskać wbudowany generator v4 bez biblioteki.
  • Przechowuj identyfikatory UUID jako typ UUID/GUID w bazach danych (16 bajtów) zamiast ciągów znaków (36 bajtów), aby zapewnić lepszą wydajność przechowywania i indeksowania.
  • Skorzystaj z naszego generatora UUID, aby natychmiast utworzyć identyfikatory UUID w przeglądarce — bez rejestracji, w pełni prywatnie.

Powiązane narzędzia

Powiązane przewodniki

Referencje