UUID oluşturucu ne yapar?

UUID (Universally Unique Identifier), merkezî bir sayaç olmadan üretilebilen 128 bitlik bir kimliktir ve 8-4-4-4-12 düzeninde 32 hex karakterle yazılır. Veritabanı birincil anahtarı, API istek kimliği, dosya adı veya dağıtık sistemlerde kayıt kimliği olarak kullanılır. Güncel tanım RFC 9562’dedir; bu belge eski RFC 4122’nin yerini aldı ve v6, v7, v8 sürümlerini ekledi.

Araç iki iş yapar: v4 ve v7 UUID üretir, ayrıca yapıştırdığınız herhangi bir UUID’yi çözer. Çözücü sürüm ve varyantı okur, v1, v6 ve v7 içindeki zamanı UTC ile Europe/Istanbul saatinde gösterir, Nil ve Max UUID’yi tanır.

Nasıl kullanılır?

  • Sürümü seçin: v4 tamamen rastgeledir, v7 oluşturulma zamanına göre sıralanır.
  • Adet alanına 1 ile 1.000 arasında bir sayı yazın ve “UUID oluştur” düğmesine basın. Yeni değerler yalnız bu düğmeyle üretilir.
  • Biçimi değiştirmek aynı listeyi yeniden biçimlendirir; yeni UUID üretmez.
  • Listeyi kopyalayın veya uuids.txt olarak indirin.
  • Çözücü alanına bir UUID yapıştırın; sonuç yazarken güncellenir. Süslü parantez, urn:uuid: öneki, büyük harf ve tiresiz yazım kabul edilir.

Sürümler ve biçimler

SürümİçerikNot
v160 bit zaman (1582’den beri 100 ns), saat dizisi, düğümDüğüm alanı MAC adresi olabilir
v3 / v5Ad alanı ve adın MD5 / SHA-1 özetiAynı ad hep aynı UUID’yi verir
v4122 rastgele bitEn yaygın, zaman bilgisi yok
v6v1 alanlarının sıralanabilir düzeniZaman en anlamlı bitlerde
v748 bit Unix milisaniyesi + 74 rastgele bitYeni sistemler için önerilen sıralı sürüm
v8Uygulamaya özel düzenİçeriği standart dışıdır

Biçim seçenekleri yalnız yazımı değiştirir: standart küçük harf (…-…), büyük harf, tiresiz 32 karakter, {…} (Windows kayıt defteri ve .NET) ve urn:uuid:… (RFC 9562 URN). RFC 9562 çıktının küçük harf yazılmasını, girdinin ise büyük/küçük harf fark etmeden okunmasını önerir.

Üretim kuralları ve çakışma olasılığı

v4 için tarayıcının crypto.randomUUID() fonksiyonu, yoksa crypto.getRandomValues() kullanılır; Math.random hiçbir durumda kullanılmaz. 122 rastgele bitte yüzde 50 çakışma olasılığına ulaşmak için yaklaşık 2,71 × 10^18 UUID gerekir; pratikte çakışma rastgele kaynaktaki bir hatadan kaynaklanır, şanstan değil.

v7’de ilk 48 bit milisaniye cinsinden Unix zamanıdır, kalan 74 bit rastgeledir. Aynı milisaniyede birden çok UUID üretildiğinde araç RFC 9562 bölüm 6.2’deki ikinci yöntemi uygular: rastgele bölüm bir sayaç gibi rastgele bir miktar artırılır. Böylece aynı sayfada üretilen değerler saat geri gitse bile kesin olarak artan sırada kalır. Veritabanı indekslerinde v7’nin avantajı yeni kayıtların indeksin sonuna eklenmesidir.

Örnek ve yorum

Örnek düğmesi RFC 9562 Ek A.6’daki 017f22e2-79b0-7cc3-98c4-dc0c0c07398f değerini çözücüye yükler. Sonuç: sürüm 7, RFC 9562 varyantı, zaman 2022-02-22T19:22:22.000Z, İstanbul saatiyle 2022-02-22 22:22:22.000 (GMT+03:00). Aynı anı taşıyan v1 örneği c232ab00-9414-11ec-b3c8-9f6bdeced846 ve v6 örneği 1ec9414c-232a-6b00-b3c8-9f6bdeced846 de aynı zamanı ve 13256 saat dizisini verir.

Buradan çıkan ders: v1, v6 ve v7 UUID’ler oluşturulma anını açıkça taşır. Kimliği gören herkes kaydın ne zaman oluşturulduğunu okuyabilir. Bu bilgi gizli kalmalıysa v4 kullanın.

Sınırlar ve gizlilik

Tek seferde en fazla 1.000 UUID üretilir. v7 sırası yalnız bu sayfa açıkken garanti edilir; farklı cihazlar veya sekmeler arasında sıralama cihaz saatlerine bağlıdır. Çözücü v2 (DCE Security) UUID’lerinin zamanını çözmez, çünkü bu sürümde zamanın bir kısmı yerel kimlikle değiştirilir. v3/v5 özetlerinden ad geri elde edilemez.

UUID’ler cihazınızda üretilir. Paylaşım bağlantısı yalnız ayarları taşır; üretilen liste ve çözücüye yazdığınız değer bağlantıya eklenmez. UUID bir erişim anahtarı değildir: tahmin edilmesi zor olsa da parola veya oturum belirteci yerine kullanılmamalıdır. Gizli anahtar gerekiyorsa WordPress salt oluşturucu, özet gerekiyorsa hash oluşturucu daha uygundur.

Sık sorulan sorular

UUID ile GUID aynı şey mi?

Evet. GUID, Microsoft ekosisteminde aynı 128 bitlik yapının adıdır. Windows araçları çoğunlukla büyük harf ve {…} biçimini kullanır; araçtaki biçim seçeneği bunu üretir.

v4 mü v7 mi kullanmalıyım?

Veritabanında birincil anahtar olarak zamana göre sıralı kimlik istiyorsanız v7 uygundur. Kimliğin oluşturulma zamanını açığa çıkarmaması gerekiyorsa v4 seçin.

Üretilen UUID’ler gerçekten benzersiz mi?

Matematiksel garanti yoktur, ancak 122 rastgele bitle çakışma olasılığı pratikte ihmal edilebilir. v7’de aynı sayfada üretilen değerler ayrıca kesin artan sıradadır.

Nil ve Max UUID nedir?

Nil UUID tamamen sıfırdır (00000000-0000-0000-0000-000000000000), Max UUID tamamen f’dir. RFC 9562 ikisini de “değer yok” veya sınır değeri gibi özel anlamlar için ayırır; çözücü ikisini de ayrıca tanır.

Bir UUID’nin sürümünü nasıl anlarım?

Üçüncü grubun ilk karakteri sürümü verir: …-7cc3-… sürüm 7’dir. Dördüncü grubun ilk karakteri 8, 9, a veya b ise UUID RFC 9562 varyantıdır. Çözücü bunu sizin yerinize okur.

Yayın: · Güncelleme: