Karşılaştırma
Yayın: 17 Temmuz 2026
8 dk okuma
UUID Sürümleri Arasındaki Fark (v1, v4, v5)
"UUID üret" dediğinizde aslında farklı algoritmalardan birini seçiyorsunuz demektir — ve hangisini seçtiğiniz, üretilen kimliğin ne bilgi taşıdığını kökten değiştirir. Bu rehberde en sık karşılaşılan üç versiyonu — v1 (zaman damgalı), v4 (rastgele) ve v5 (isim tabanlı) — karşılaştırıyor, hangisini ne zaman seçmeniz gerektiğini örneklerle gösteriyoruz.
UUID v1, v4 ve v5 arasındaki fark nedir?
Kısa cevap
v1, üretim anının zaman damgasını ve bir node kimliğini (klasik tanımda MAC adresi) taşır — teorik olarak izlenebilir. v4 tamamen kriptografik rastgeleliğe dayanır, hiçbir bilgi sızdırmaz ve genel amaçlı en yaygın kullanılan versiyondur. v5 ise bir namespace ve isim birleştirilip SHA-1 ile hash'lenerek üretilir; aynı girdi her zaman aynı UUID'i verir (deterministiktir), v4 gibi rastgele değildir.
Üç versiyonun de baytı aynıdır (128 bit) ve gösterim biçimi aynıdır (8-4-4-4-12), ama içerdikleri bilgi ve kullanım senaryoları tamamen farklıdır. Üçünü de UUID Üretici'nin ilgili sekmelerinde canlı olarak deneyebilirsiniz.
v1: zaman damgalı UUID nasıl çalışır?
Kısa cevap
v1 UUID, 60 bitlik bir zaman damgası (1582'den bu yana geçen 100 nanosaniyelik aralık sayısı), bir saat sırası (clock sequence) ve 48 bitlik bir node kimliği birleştirilerek üretilir. Klasik tanımda node, cihazın MAC adresidir; bu da UUID'nin üretildiği zamanı ve makineyi teorik olarak geri izlenebilir kılar.
Örneğin a1b2c3d4-1234-1a2b-89ab-0242ac110002 gibi bir v1 UUID'de 13. karakter "1" versiyonu belirtir. Bu versiyon 1990'larda dağıtık dosya sistemleri (DCE) için tasarlanmıştır; MAC adresi kullanımı gizlilik açısından ciddi bir dezavantajdır — bu yüzden modern kütüphaneler (ve bu araç) gerçek MAC yerine rastgele üretilmiş bir node ID kullanır.
v1'in avantajı ne zaman öne çıkar? v1 UUID'ler zaman damgası içerdiğinden, kısmen sıralanabilir (tam sıralı değildir çünkü zaman alanları byte sırasında karışık yerleştirilmiştir). Sadece zorunlu geriye dönük uyumluluk gerektiren eski sistemlerde (ör. bazı eski DCE/COM tabanlı yazılımlar) tercih edilmelidir.
v4: tamamen rastgele UUID nasıl çalışır?
Kısa cevap
v4 UUID, 128 bitin 122 bitini kriptografik olarak güvenli bir rastgele sayı üretecinden (tarayıcıda crypto.getRandomValues) doldurur; kalan 6 bit sabit versiyon (0100) ve varyant (10) değerlerini taşır. Hiçbir zaman veya makine bilgisi içermez — bu onu en gizlilik dostu versiyon yapar.
v4'ün en büyük avantajı basitliğidir: tek bir rastgele sayı üretme çağrısıyla anında bir kimlik elde edersiniz. Bu yüzden web uygulamalarında ve veritabanlarında en yaygın kullanılan versiyondur. Dezavantajı, tamamen rastgele olduğu için sıralanamamasıdır; bunun veritabanı performansına etkisini "Veritabanında UUID Kullanımının Artı ve Eksileri" rehberinde inceledik.
v5 (ve v3): isim tabanlı deterministik UUID nasıl çalışır?
Kısa cevap
v5 (SHA-1) ve eski v3 (MD5), bir namespace UUID'i ile bir isim (ör. bir domain adı veya e-posta) birleştirilip hash'lenerek üretilir. Aynı namespace + aynı isim, her zaman aynı UUID'i verir — bu yüzden rastgele değil deterministiktir.
Bu, v1 ve v4'ten kökten farklı bir yaklaşımdır: v5'te "rastgelelik" yerine "tekrarlanabilirlik" hedeflenir. Örneğin biraracta.com ismini DNS namespace'i ile birleştirip v5 ile hash'lerseniz, bu işlemi dünyanın herhangi bir yerinde tekrarladığınızda birebir aynı UUID'i elde edersiniz. Bunu v3/v5 sekmesinde deneyebilirsiniz.
Benzersiz içgörü
v5'in deterministik olması, dağıtık sistemlerde pratik bir problemi çözer: "aynı veriden her zaman aynı kimliği türetmek." Bir URL'yi işleyen birden fazla mikroservisiniz varsa, her biri bağımsız olarak v5(namespace_url, url) hesaplayıp aynı sonuca ulaşabilir — hiçbir merkezi sorgu veya koordinasyon gerekmeden.
Aynı namespace + isimden üretilen örnek v3 ve v5 UUID (namespace: DNS, isim: biraracta.com)
| Versiyon | Algoritma | Örnek çıktı |
| v3 | MD5 | 9073926b-929f-31c2-abc9-fad77ae3e8eb |
| v5 | SHA-1 | 36611beb-7bfa-5397-9385-32ba86af26b0 |
Kaynak: RFC 4122 Ek C örnek test vektörleri (namespace = DNS). Bu değerler her hesaplamada birebir aynı çıkar — bu, deterministik üretimin ispatıdır.
Üç versiyonu da canlı deneyin
v1-benzeri, v4 rastgele ve v3/v5 isim tabanlı UUID üretimini aynı ekranda karşılaştırın — 1000 adede kadar toplu, tamamen tarayıcınızda.
UUID Üreticiyi Aç →
v1, v3, v4, v5 karşılaştırma tablosu
UUID versiyonları — kaynak veri, sıralanabilirlik ve kullanım
| Versiyon | Kaynak veri | Deterministik mi? | Sıralanabilir mi? | Önerilen kullanım |
| v1 | Zaman damgası + node ID | Hayır | Kısmen | Eski sistem uyumluluğu |
| v3 | Namespace + isim (MD5) | Evet | Hayır | Yalnızca eski sistem uyumluluğu |
| v4 | Tamamen rastgele | Hayır | Hayır | Genel amaçlı, en yaygın kullanım |
| v5 | Namespace + isim (SHA-1) | Evet | Hayır | Deterministik kimlik (önerilen) |
Hangi versiyonu ne zaman seçmeliyim?
Kısa cevap
Belirsizseniz v4 ile başlayın — basit ve gizlilik dostudur. Aynı girdiden her zaman aynı kimliği türetmeniz gerekiyorsa v5 kullanın. v1'i yalnızca zorunlu geriye dönük uyumluluk gerektiren eski sistemlerle çalışırken, v3'ü ise hiç kullanmayın (yerine v5 tercih edin) — MD5 artık kriptografik olarak zayıf kabul edilir.
- Yeni bir proje, basit ve gizlilik dostu bir kimlik: v4.
- Aynı veriden (URL, e-posta, dosya adı) her zaman aynı kimliği türetmek: v5 (SHA-1).
- Veritabanı birincil anahtarı, indeks performansı önemli: v4 yerine v7 (zaman sıralı) — bu araçta ayrı bir sekmede mevcuttur.
- Eski bir sistemle (DCE, bazı COM bileşenleri) uyumluluk zorunlu: v1.
- MD5 tabanlı v3'ü yalnızca eski bir sistemin ürettiği UUID'leri yeniden üretmeniz gerektiğinde kullanın; yeni projelerde daima v5'i tercih edin.
v5 UUID nasıl üretilir?
UUID Üretici'de: (1) "v3 / v5 İsim" sekmesini seçin, (2) algoritmayı "v5 (SHA-1)" yapın, (3) DNS/URL/OID/X.500 namespace'lerinden birini seçin veya özel bir namespace UUID'i girin, (4) her satıra bir isim gelecek şekilde isim(ler)inizi yazın, (5) "Oluştur"a basın. Aynı namespace + isim kombinasyonu, her zaman birebir aynı UUID'i üretir.
Sık sorulan sorular
UUID v1 ile v4 arasındaki fark nedir?
v1, üretim anının zaman damgasını ve bir node kimliğini (klasik tanımda MAC adresi) içerir; teorik olarak geri izlenebilir. v4 tamamen kriptografik rastgeleliğe dayanır, hiçbir zaman/makine bilgisi taşımaz.
UUID v5 nasıl çalışır, v4'ten farkı nedir?
v5, bir namespace UUID'i ile bir ismi SHA-1 ile hash'leyerek üretilir; aynı namespace + aynı isim her zaman aynı UUID'i verir (deterministiktir). v4 tamamen rastgeledir; aynı girdiyle üretilse bile her seferinde farklı bir UUID çıkar.
v3 ile v5 arasındaki fark nedir?
İkisi de namespace + isim tabanlı deterministik UUID üretir; tek fark hash algoritmasıdır. v3 kriptografik olarak zayıf kabul edilen MD5 kullanır; v5 daha güncel SHA-1 kullanır. Yeni sistemlerde v5 tercih edilmelidir.
Hangi UUID versiyonunu ne zaman kullanmalıyım?
Genel amaçlı, gizlilik dostu kimlikler için v4 kullanın. Aynı girdiden her zaman aynı kimliği türetmeniz gerekiyorsa v5 kullanın. v1'i yalnızca zorunlu geriye dönük uyumluluk gerektiren eski sistemlerle çalışırken tercih edin.
UUID v1'de gerçek MAC adresi kullanmak güvenli mi?
Hayır, klasik v1 uygulaması gerçek MAC adresini node alanına yazdığından üretilen kimlik hangi cihazda üretildiğini sızdırabilir. Modern uygulamalar (bu araç dahil) rastgele üretilmiş bir node ID kullanır.
v5 UUID üretmek için hangi bilgiler gerekir?
Bir namespace UUID'i (DNS, URL, OID, X.500 veya özel) ve bir isim (ör. bir domain adı) gerekir. İkisi SHA-1 ile birleştirilip hash'lenerek deterministik UUID elde edilir.
Metodoloji & kaynaklar. Bu yazıdaki örnek UUID değerleri BirAraçta'nın açık UUID üretici aracıyla (v4/v7: crypto.getRandomValues; v3: saf JavaScript MD5; v5: crypto.subtle.digest SHA-1) üretilmiş ve RFC 4122 Ek C'deki resmî test vektörleriyle karşılaştırılarak doğrulanmıştır. Kaynaklar: RFC 4122 (namespace UUID'leri ve Ek C test vektörleri) · RFC 9562 (güncel standart) · W3C Web Cryptography API. Son güncelleme: 17 Temmuz 2026. Yazı bilgilendirme amaçlıdır.