UUID / GUID Oluşturucu

v1, v4 veya v5 UUID'leri toplu olarak, biçimlendirilmiş şekilde ve isteğe bağlı ön ek/son ek ile oluşturun.

Sürüm Referansı


v4 — Rastgele

Sürüm 4 UUID'leri tamamen rastgele (veya sözde rastgele) baytlardan oluşturulur. 128 bitin 122'si rastgeledir; kalan 6 bit sürümü (4) ve varyantı kodlar. Yapılandırılmış hiçbir bilgi taşımadıkları için v4 UUID'leri en basit seçenektir: paylaşılan durum, ağ saati veya ad alanı koordinasyonu gerektirmezler. Yinelenen bir değer oluşturma olasılığı astronomik ölçüde düşüktür. Benzersizliğin gerekli olduğu ancak zaman sıralamasının gerekmediği veritabanı birincil anahtarları, oturum belirteçleri ve her türlü bağlam için varsayılan olarak v4 kullanın.

Wikipedia — UUID Version 4 (random)

v1 — Zaman tabanlı

Sürüm 1 UUID'leri 60 bitlik bir zaman damgası (Gregoryen takvim reformu tarihi olan 15 Ekim 1582'den itibaren 100 nanosaniyelik aralıklar), 14 bitlik bir saat dizisi ve 48 bitlik bir düğüm tanımlayıcısı (tarihsel olarak oluşturan makinenin MAC adresi) içerir. Zaman damgası en anlamlı bileşen olduğundan, v1 UUID'leri sözlüksel olarak karşılaştırıldığında kronolojik olarak sıralanır — kümelenmiş veritabanı dizinleri için kullanışlı bir özellik. Bunun karşılığında gizlilik feda edilir: bir v1 UUID makinenin MAC adresini ve tam oluşturulma zamanını sızdırır. Modern uygulamalar bu açığı önlemek için rastgele bir düğüm kullanır.

Wikipedia — UUID Version 1 (time-based)

v5 — Ad alanı + Ad (SHA-1)

Sürüm 5 UUID'leri deterministiktir: aynı ad alanı UUID'si ve aynı ad dizesi verildiğinde çıktı her zaman aynıdır. Algoritma, ad alanı baytlarını ve UTF-8 kodlu adı birleştirir, bunları SHA-1 ile hash'ler, ardından 160 bitlik özeti 128 bite katlar (sürüm bitlerini 5'e ve RFC 4122 varyantına ayarlayarak). Bu, v5'i kararlı, yeniden üretilebilir tanımlayıcılar oluşturmak için ideal kılar — örneğin, bir URL'yi asla değişmeyen bir UUID'ye eşlemek veya eski bir dize anahtarını arama tablosu olmadan bir UUID'ye dönüştürmek gibi. v3 bunun yerine MD5 kullanır; SHA-1 daha az çakışma ürettiği için v5 tercih edilir.

Wikipedia — UUID Version 5 (name-based)