UltKit

UUID Oluşturucu

Tek seferde birden yüze kadar rastgele sürüm 4 UUID oluşturun ve liste hâlinde kopyalayın. UUID'ler tarayıcınızın kriptografik olarak güvenli rastgele sayı üretecinden gelir; denetleyici ise yapıştırdığınız herhangi bir UUID'nin sürümünü ve varyantını gösterir.

0 karakter · 0 kelime · 0 satır

Tamamen bu tarayıcı sekmesinde çalışır. Metniniz asla yüklenmez veya saklanmaz.

UUID sürümleri

Sürüm üçüncü grubun ilk basamağıdır; varyant dördüncü grubun ilk basamağında kodlanır (RFC UUID'lerinde 8, 9, a veya b). Örnekler RFC 9562 test vektörleridir.

SürümKaynağıÖrnek
v1Gregoryen zaman damgası + düğüm (MAC) kimliğic232ab00-9414-11ec-b3c8-9f6bdeced846
v3Ad alanı + adın MD5 özeti5df41881-3aed-3515-88a7-2f4a814cf09e
v4122 rastgele bit919108f7-52d1-4320-9bac-f847db4148a8
v5Ad alanı + adın SHA-1 özeti2ed6657d-e927-568b-95e1-2665a8aea6a2
v6Kimlikler zamana göre sıralansın diye yeniden düzenlenmiş v1 zaman damgası1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Unix milisaniyesi + rastgele bitler, sıralanabilir017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8Uygulamanın tanımladığı özel düzen2489e9ad-2ee2-8e00-8ec9-32d5f69181c0

UUID nedir ve nasıl okunur?

UUID (evrensel benzersiz tanımlayıcı; Microsoft yazılımlarında GUID olarak geçer), 8-4-4-4-12 gruplar hâlinde 32 onaltılık basamakla yazılan 128 bitlik bir sayıdır. Örneğin: f47ac10b-58cc-4372-a567-0e02b2c3d479. 2005'te RFC 4122 ile standartlaştırıldı; Mayıs 2024'te bu belgenin yerini RFC 9562 aldı. Yeni belge eski sürümleri korur ve üç yeni sürüm ekler. İki konum sabittir: üçüncü grubun ilk basamağı sürümü (4372 içindeki 4), dördüncü grubun ilk basamağı ise varyantı gösterir; RFC'ye uyan her UUID'de bu basamak 8, 9, a veya b olur.

Sürüm 4, kalan 122 biti rastgele veriyle doldurur. Bu alan o kadar büyüktür ki tek bir çakışma için %50 ihtimale ulaşmak adına yaklaşık 2,7 kentilyon (2,7 × 10¹⁸) UUID üretmeniz gerekir. Bu yüzden sistemler v4 kimliklerini birbirleriyle koordine olmadan birçok makinede bağımsız üretebilir. Bu sayfa crypto.randomUUID'i, bulunmadığı yerde crypto.getRandomValues'u kullanır; çıktısı tahmin edilemez olacak şekilde tasarlanmadığı için Math.random'u asla kullanmaz. Büyük harf ve Tire olmadan seçenekleri yalnızca biçimi değiştirir; değer aynıdır ve çoğu ayrıştırıcı her iki yazımı da kabul eder.

v4, v7 ve diğer sürümler

Sürüm 1 ve 6, bir zaman damgasından ve bir düğüm kimliğinden oluşur; düğüm kimliği aslında bilgisayarın MAC adresiydi ve bu da kimliğin nerede ve ne zaman üretildiğini ele verir. Sürüm 3 ve 5, bir ad alanını ve bir adı MD5 veya SHA-1 ile özetler; bu yüzden aynı girdi her zaman aynı UUID'yi verir. Sürüm 8, özel şemalar için serbest bir düzendir. En önemli yeni sürüm sürüm 7'dir: 48 bitlik, milisaniye cinsinden Unix zaman damgasıyla başlar, kalan bitleri rastgele doldurur; böylece kimlikler oluşturulma zamanına göre sıralanır.

Veritabanı birincil anahtarlarında v7'yi düşünmenin nedeni bu sıralamadır. Rastgele v4 anahtarları B-tree dizininin her yerine dağılır; tablo büyüdükçe sayfaları böler ve önbellek yerelliğini bozar. v7 anahtarları ise otomatik artan bir sütun gibi yaklaşık artan sırada gelir, buna rağmen merkezi bir sayaç olmadan üretilebilir. Hiçbir şeyi, oluşturulma zamanını bile ele vermeyen bir kimlik istiyorsanız v4'ü seçin; ekleme performansı ve zaman sıralaması önemliyse v7'yi seçin. UUID bir tanımlayıcıdır, sır değildir: parolalar ve API sırları için özel bir parola oluşturucu kullanın. Daha fazla kodlayıcı ve denetleyici geliştirici araçları sayfasında.

Sık sorulan sorular

Rastgele oluşturulan iki UUID aynı olabilir mi?
Teoride evet, pratikte hayır. 122 rastgele bitle, rastgele kaynak sağlamsa saniyede bir milyar v4 UUID'yi yaklaşık 86 yıl boyunca üretseniz bile tek bir çakışma ihtimali yalnızca yaklaşık %50 olur.
UUID ile GUID arasındaki fark nedir?
Özünde hiçbiri. GUID, aynı 128 bitlik tanımlayıcı için Microsoft'un kullandığı addır. Bazı Microsoft araçları GUID'leri büyük harfle veya süslü parantez içinde gösterir; buradaki denetleyici bunları kabul eder.
Bir UUID'nin hangi sürüm olduğunu nasıl anlarım?
Üçüncü grubun ilk basamağına bakın: 4 rastgele, 7 zamana göre sıralı, 1 ise zaman damgası artı düğüm anlamına gelir. Sürümü ve varyantı görmek için UUID'yi UUID denetleme alanına yapıştırın.
Veritabanı anahtarları için v4 yerine UUIDv7 mi kullanmalıyım?
Çoğu zaman evet. v7 anahtarları zamana göre sıralıdır; bu da B-tree dizinlerini derli toplu tutar ve eklemeleri hızlı yapar. v7 kimliğine gömülü oluşturulma zamanının gizli kalması gerekiyorsa v4'te kalın.
UUID'yi şifre sıfırlama belirteci olarak kullanmak güvenli mi?
Güvenli bir üreteçten gelen v4 UUID'nin 122 rastgele biti vardır; bu, tahmin edilemez olması için yeterlidir. Ancak birçok kütüphane, açık son kullanma süresi olan özel token işlevleri sunar. v1 veya v7 gibi zamana dayalı sürümleri asla sır olarak kullanmayın.