UUID Sürüm Tanımlayıcı
Herhangi bir UUID'nin sürümünü ve varyantını tanımlar. Ayrıntılı bilgilerle birlikte 1-8 arası sürümleri, Nil ve Max UUID'leri destekler.
Girdi
Çıktı
Sonuç
Değer yok
Readme
UUID sürümü nedir?
UUID (Evrensel Olarak Benzersiz Tanımlayıcı), RFC 4122 ve RFC 9562 tarafından standartlaştırılmış 128 bitlik bir tanımlayıcıdır. Her UUID, nasıl oluşturulduğunu belirten bir sürüm alanı içerir. Sürüm, 13. onaltılık basamakta (7. baytın yüksek nibble'ı) kodlanır ve tanımlayıcıyı oluşturmak için kullanılan algoritmayı ve veri kaynaklarını belirler.
Şu anda sekiz tanımlı sürüm (v1'den v8'e kadar) ve iki özel form bulunmaktadır: Nil UUID (tümü sıfır) ve Max UUID (tümü bir). Her sürüm farklı bir amaca hizmet eder — bazıları kronolojik sıralama için zaman damgası içerir, bazıları deterministik üretim için kriptografik hash kullanır, diğerleri ise basitlik için rastgele sayılara dayanır. Sürümü bilmek, bir UUID'nin özelliklerini, güvenlik etkilerini ve amaçlanan kullanım senaryosunu anlamanıza yardımcı olur.
Ayrı olarak kodlanan varyant alanı, tanımlayıcının hangi UUID spesifikasyonuna uyduğunu belirtir. Modern UUID'lerin çoğu RFC 4122/RFC 9562 varyantını kullanır, ancak eski sistemler NCS veya Microsoft varyantları üretebilir.
Araç açıklaması
Bu araç, herhangi bir UUID'yi girdi olarak alır ve sürüm numarasını, sürüm adını, varyantını, üretim yöntemini ve o sürümün nasıl çalıştığına dair ayrıntılı bir açıklamayı tanımlar. Tüm standart sürümleri (v1'den v8'e kadar) ve Nil ile Max UUID'leri destekler. Bir UUID yapıştırmanız yeterli; anında tam dökümünü görürsünüz.
Örnekler
| Girdi UUID | Sürüm | Ad |
|---|---|---|
550e8400-e29b-41d4-a716-446655440000 |
4 | Rastgele (v4) |
6ba7b810-9dad-11d1-80b4-00c04fd430c8 |
1 | Zaman tabanlı (v1) |
018f3e88-5c00-7b3a-8512-2d4a3f8e9c01 |
7 | Unix Epoch zaman tabanlı (v7) |
00000000-0000-0000-0000-000000000000 |
Nil | Nil UUID |
ffffffff-ffff-ffff-ffff-ffffffffffff |
Max | Max UUID |
Özellikler
- v1'den v8'e kadar tüm UUID sürümlerini, Nil ve Max UUID'leri algılar
- Varyantı tanımlar (RFC 4122/9562, NCS, Microsoft veya Ayrılmış)
- Sürümün nasıl oluşturulduğunu açıklayan, insan tarafından okunabilir bir açıklama gösterir
- UUID'yi üretmek için kullanılan üretim yöntemini görüntüler
- Yazarken veya yapıştırırken anında gerçek zamanlı tanımlama yapar
Kullanım senaryoları
- Dağıtık sistemlerde hata ayıklama: Günlüklerinizdeki UUID'lerin zaman tabanlı (v1/v6/v7) mi yoksa rastgele (v4) mi olduğunu belirleyerek çıkarabileceğiniz gömülü zaman damgaları taşıyıp taşımadığını anlayın.
- Veritabanı optimizasyonu: Birincil anahtarlarınızın sıralanabilir bir UUID sürümü (v6, v7) mi yoksa indeks parçalanmasına yol açabilecek rastgele bir sürüm (v4) mü kullandığını belirleyin.
- Güvenlik denetimi: MAC adresi veya zaman damgası sızdırabilecek v1 UUID'lerini tespit ederek bilgi ifşası risklerini değerlendirmenize yardımcı olun.
Nasıl çalışır
Araç, iki temel alanı çıkarmak için UUID'nin onaltılık yapısını ayrıştırır:
- Sürüm: 13. hex basamaktan okunur (soyulmuş hex string'inde indeks 12). Bu nibble, sürüm numarasını (1–8) doğrudan kodlar. Nil ve Max UUID'ler, tüm bitlerin sıfır mu yoksa bir mi olduğu kontrol edilerek algılanır.
- Varyant: 17. hex basamağın (indeks 16) en anlamlı bitleri tarafından belirlenir. Bit deseni, dört varyant ailesinden birine eşlenir: NCS, RFC 4122/9562, Microsoft veya Ayrılmış.
UUID sürümlerine genel bakış
| Sürüm | Ad | Temel özellik |
|---|---|---|
| v1 | Zaman tabanlı | Zaman damgası + MAC adresi |
| v2 | DCE Güvenlik | Zaman damgası + MAC + POSIX UID/GID |
| v3 | Ad tabanlı (MD5) | Ad alanı + addan deterministik |
| v4 | Rastgele | 122 rastgele bit |
| v5 | Ad tabanlı (SHA-1) | Deterministik, v3'ten daha güçlü hash |
| v6 | Yeniden sıralanmış zaman tabanlı | v1'in sıralanabilir varyantı |
| v7 | Unix Epoch zaman tabanlı | Unix ms zaman damgası + rastgele, veritabanı anahtarları için ideal |
| v8 | Özel | Satıcıya özgü veya deneysel |
| Nil | Nil UUID | 128 bitin tamamı sıfıra ayarlı |
| Max | Max UUID | 128 bitin tamamı bire ayarlı |
SSS
UUID sürümü ile varyant arasındaki fark nedir? Sürüm, üretim algoritmasını (zaman tabanlı, rastgele, hash tabanlı vb.) belirtirken; varyant, UUID'nin hangi spesifikasyona uyduğunu (RFC 4122, NCS, Microsoft) tanımlar. Karşılaşacağınız UUID'lerin büyük çoğunluğu RFC 4122/9562 varyantında olacaktır.
Hangi UUID sürümünü kullanmalıyım? Çoğu uygulama için v4 (rastgele), en basit ve en yaygın desteklenen seçenektir. Veritabanı birincil anahtarları için zamana göre sıralanabilir tanımlayıcılara ihtiyaç duyuyorsanız, v7 modern önerimizdir. Bir addan türetilmiş deterministik UUID'lere ihtiyaç duyduğunuzda v5'i kullanın.
Bu araç, UUID'den zaman damgasını çıkarabilir mi? Bu araç yalnızca sürümü ve varyantı tanımlar. v1, v6 veya v7 UUID'lerinden gömülü zaman damgalarını çıkarmak için özel UUID Zaman Çıkarıcı aracını kullanın.