UUID v1 nedir?
UUID sürüm 1 RFC 4122'den zaman tabanlı 128-bit tanımlayıcı (36 karakterlik dize). Şunları birleştirir:
- Timestamp: 60-bit değer (1582-10-15'ten itibaren 100 nanosaniye hassasiyetinde)
- Saat dizisi: Saat ayarları için 14-bit sayaç
- Node ID: 48-bit değer (genellikle MAC adresi)
Format örneği: 2ed6657d-e927-11eb-9a03-0242ac130003
UUID v1 nasıl çalışır
- Mevcut zaman damgasını hesapla (1582-10-15'ten itibaren 100ns aralıklarla)
- 14-bit saat dizisini al/arttır (saat geri giderse benzersizlik için)
- 48-bit node ID al (genellikle MAC adresinden)
- Sürüm bitlerini (0001) ve varyant bitlerini (10) ayarla
- 8-4-4-4-12 formatında tirelerle 32 onaltılık rakam olarak birleştir
Avantajlar ve Dikkat Edilmesi Gerekenler
Advantages | Considerations |
---|---|
|
|
UUID v1 Yapısı
Bits | Content |
---|---|
0-31 | Zaman damgasının düşük 32 biti |
32-47 | Zaman damgasının orta 16 biti |
48-59 | Zaman damgasının yüksek 12 biti |
60-63 | Sürüm (v1 için 0001) |
64-65 | Varyant (RFC4122 için 10) |
66-79 | Saat dizisi (14 bit) |
80-127 | Node ID (48 bit) |
UUID v1 ve diğer sürümler karşılaştırması
Version | Dayandığı | Kullanım durumu | Privacy |
---|---|---|---|
UUID v1 | Zaman + MAC | Zaman sıralı kimlikler | ⚠️ MAC adresini açığa çıkarır |
UUID v3 | Namespace + MD5 | Deterministik Kimlikler | ✅ Gizli |
UUID v4 | Random | Güvenli rastgele kimlikler | ✅ Gizli |
UUID v5 | Namespace + SHA-1 | Deterministik Kimlikler | ✅ Gizli |
UUID v6 | Zaman (yeniden sıralanmış) | Sıralanabilir kimlikler | ⚠️ MAC adresini açığa çıkarır |
UUID v7 | Zaman + rastgele | Sıralanabilir kimlikler | ✅ Gizli |
Yaygın Kullanım Durumları
- Veritabanı anahtarları: Dağıtık veritabanları
- Denetim kayıtları: Zaman sıralı takip
- İşlem Kimlikleri: İş süreçleri
- Oturum takibi: Web uygulamaları
- İçerik adresleme: CMS sistemleri
- IoT mesajları: Cihaz iletişimi
Sıkça Sorulan Sorular
UUID v1 kriptografik olarak güvenli mi?
Hayır. UUID v1, zaman damgası ve MAC adresi biliniyorsa öngörülebilir. Güvenlik için rastgele UUID v4 kullanın.
UUID v1 değerleri çakışabilir mi?
Zaman damgası hassasiyeti, saat dizisi sayaçları ve node tanımlayıcıları nedeniyle pratikte çakışmalar son derece nadirdir.
UUID v1'den oluşturulma zamanı çıkarabilir miyim?
Evet. Zaman damgası bileşeni, çoğu UUID kütüphanesinde bulunan uygun algoritmalarla çıkarılabilir.
UUID v1 oluşturulma zamanına göre sıralanabilir mi?
Evet, ancak özel sıralama fonksiyonları gereklidir. Doğrudan dize karşılaştırması işe yaramaz çünkü zaman bitleri ardışık değildir.
UUID v1 MAC adresimi açığa çıkarır mı?
Varsayılan olarak evet. Çoğu uygulama node ID için MAC adresini kullanır. Gizliliğe odaklanan uygulamalar rastgele node ID kullanabilir.