Potrzebujesz UUID do klucza bazy danych, tokena API lub fixture testowego? Generuj UUID v4 pojedynczo lub hurtowo — do 100 na raz — i kopiuj je bezpośrednio do schowka.
Ładowanie kalkulatora...
Czy to narzędzie Ci pomogło?
Czym jest Generator UUID?
Generator UUID tworzy losowe UUID Wersji 4, które są uniwersalnie unikalnymi identyfikatorami. Każdy UUID遵循标准格式 8-4-4-4-12(36个字符带连字符)。为任何应用程序一次生成1到100个UUID。
Kiedy używać tego kalkulatora
你需要为分布式系统中的数据库主键提供唯一标识符
你正在创建必须全局唯一且无需中央机构的 API 资源标识符
你需要为单元测试或集成测试提供具有唯一 ID 的测试夹具
你正在构建需要唯一令牌生成的会话管理系统
你需要为数据迁移或导入批量生成多个唯一标识符
你想验证你已经拥有的 UUID 是否有效且格式正确
Kroki:
选择要生成的 UUID 数量(1-100)。
点击生成 UUID 按钮。
复制单个 UUID 或使用复制全部。
切换自动复制以在生成时自动复制。
Wzór
UUID v4 格式: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
其中 x 是随机十六进制数字,y 是 8、9、A 或 B 之一(RFC 4122 变体)。
总组合数: ~5.3 × 10^36
UUID (Universally Unique Identifier) to 128-bitowy identyfikator standaryzowany przez RFC 4122. UUID wersji 4 są generowane losowo i praktycznie gwarantowane jako unikalne między systemami.
Jak bardzo unikalne są UUID?
Ekstremalnie unikalne. Istnieje 5,3×10^36 możliwych UUID v4. Prawdopodobieństwo kolizji jest tak niskie, że mógłbyś generować 1 miliard UUID na sekundę przez 100 lat i nadal mieć ryzyko kolizji bliskie zera.
Do czego służą UUID?
UUID są używane jako klucze główne baz danych, identyfikatory zasobów API, tokeny sesji, ID transakcji i wszędzie tam, gdzie potrzebne są unikalne identyfikatory bez centralnego organu.
Jaka jest różnica między UUID a GUID?
GUID (Globally Unique Identifier) to implementacja standardu UUID przez Microsoft. Są funkcjonalnie identyczne i wymienne.
Czy UUID są naprawdę gwarantowane jako unikalne?
Żaden standard UUID nie gwarantuje absolutnej unikalności — ale prawdopodobieństwo kolizji z UUID v4 jest tak astronomicznie niskie (1 na 5,3×10^36), że jest uważane za praktycznie niemożliwe. Dla odniesienia, musiałbyś generować 1 miliard UUID na sekundę przez 100 lat, aby osiągnąć nawet 50% prawdopodobieństwo kolizji.
Czy powinienem używać UUID czy autoinkrementujących liczb całkowitych do kluczy głównych?
UUID są lepsze dla systemów rozproszonych, ponieważ mogą być generowane niezależnie na dowolnym węźle bez koordynacji. Liczby całkowite są prostsze i mniejsze, co czyni je lepszymi dla aplikacji z pojedynczą bazą danych, gdzie kolejność sekwencyjna ma znaczenie. UUID nie ujawniają również informacji o objętości twoich danych (sekwencyjny ID 5 000 mówi atakującemu, że masz 5 000 rekordów).
Czy mogę sortować UUID chronologicznie?
Standardowe UUID v4 są losowe i nie mogą być sortowane według czasu. UUID v7 (dostępne w nowszych bibliotekach) koduje znacznik czasu w najbardziej znaczących bitach, czyniąc je sortowalnymi według czasu. Jeśli potrzebujesz unikalnych ID uporządkowanych według czasu, rozważ UUID v7 lub ULID jako alternatywy dla v4.
Jaka jest różnica między przechowywaniem UUID jako ciągi i jako binarne?
Ciągi używają 36 znaków (36 bajtów), podczas gdy binarne używają 16 bajtów. Przechowywanie binarne jest bardziej wydajne zarówno pod względem miejsca do przechowywania, jak i wydajności indeksu. Większość baz danych obsługuje typy kolumn specyficzne dla UUID, które obsługują konwersję binarną automatycznie. Użyj binary(16) w MySQL lub natywnego typu uuid w PostgreSQL.
Dlaczego 13. znak jest zawsze '4' w UUID v4?
13. znak zajmuje bity 48-51 UUID, które kodują numer wersji. Dla wersji 4 te bity są ustawione na 0100, co jest cyfrą heksadecymalną 4. W ten sposób każdy czytnik UUID identyfikuje UUID jako wersję 4 (losową).
Czy bezpieczne jest generowanie UUID po stronie klienta?
Do celów innych niż bezpieczeństwo, tak. Dla aplikacji krytycznych dla bezpieczeństwa (tokeny sesji, klucze API, tokeny resetowania hasła) użyj kryptograficznie bezpiecznego generatora losowego po stronie serwera. Math.random() oparty na przeglądarce nie jest kryptograficznie bezpieczny, chociaż crypto.getRandomValues() nowoczesnych przeglądarek jest akceptowalny do większości celów.
Ile UUID mogę wygenerować na raz?
Ten generator obsługuje do 100 UUID na partię. Dla większych partii możesz uruchomić generator wielokrotnie lub użyć skryptu po stronie serwera z biblioteką UUID. Generowanie odbywa się całkowicie po stronie klienta bez żądań sieciowych, więc partie kończą się niemal natychmiast.