UUID Çözümleme Nedir?
UUID çözümleme bir UUID'nin aşağıdakiler hakkında bilgi çıkarmak için analiz edilmesi sürecidir:
- Version: 48-51 konumundaki 4 bitten hangi UUID sürümü (1-8) olduğu
- Variant: 64-65 bitlere göre hangi UUID varyantı (genellikle RFC 4122) olduğu
- Components: Sürüme göre zaman damgası, düğüm kimliği veya diğer verilerin çıkarılması
- Oluşturulma zamanı: Zaman tabanlı UUID'ler için (v1, v6, v7)
Example: 123e4567-e89b-12d3-a456-426614174000
2018-10-03 09:45:32 UTC'de oluşturulmuş Sürüm 1 UUID'sidir.
UUID Yapısı Genel Bakış
Format | Description |
---|---|
8-4-4-4-12 | Tirelerle gruplanmış 32 onaltılık basamak |
Sürüm bitleri | 48-51 bitler (13. basamak) |
Varyant bitleri | 64-65 bitler (17. basamak) |
Sürüm numarası üçüncü gruptaki ilk onaltılık basamak olarak görünür (örneğin, 123e4567-e89b-12d3-a456-426614174000
sürüm 1 için).
UUID Sürümüne Göre Çözümleme
Version | Neler çözümlenebilir |
---|---|
UUID v1 |
|
UUID v3/v5 |
|
UUID v4 |
|
UUID v6 |
|
UUID v7 |
|
ULID |
|
UUID'lerden Zaman Damgası Çıkarma
UUID Türü | Zaman Çıkarma Yöntemi | Epoch |
---|---|---|
UUID v1 | 0-31, 32-47 ve 48-59 bitlerini birleştirerek zaman damgası bileşenlerini yeniden sıralama | 15 Ekim 1582 |
UUID v6 | 0-59 bitlerini çıkar (zaten doğru sırada) | 15 Ekim 1582 |
UUID v7 | 0-47 bitlerini çıkar (Unix milisaniyeleri) | 1 Ocak 1970 |
ULID | 48 bit Unix milisaniyelerini elde etmek için ilk 10 Base32 karakterini çözümle | 1 Ocak 1970 |
UUID Doğrulama Kuralları
- Format kontrolü: Tirelerle ayrılmış 8-4-4-4-12 onaltılık basamak
- Sürüm kontrolü: 13. karakter 1-8 olmalıdır
- Varyant kontrolü: 17. karakter RFC 4122 için 8, 9, A veya B olmalıdır
Temel UUID doğrulaması için düzenli ifade:
^[0-9a-f]8-[0-9a-f]4-[1-8][0-9a-f]3-[89ab][0-9a-f]3-[0-9a-f]12$
Pratik Uygulamalar
- Adli analiz: Kimliklerin ne zaman oluşturulduğunu belirleme
- Debugging: Kimlik zaman damgalarıyla sistem davranışını izleme
- Auditing: Kronolojik bütünlüğü doğrulama
- Güvenlik analizi: Sahte veya değiştirilmiş kimliklerin tespiti
- Veri kurtarma: Zaman ilişkilerini yeniden oluşturma
- Sistem geçişleri: Eski UUID uygulama detaylarının anlaşılması
MAC Adresi Çıkarma (v1/v6)
UUID v1 ve v6 için, oluşturulma sırasında rastgeleleştirilmemişse genellikle düğüm tanımlayıcısı (MAC adresi) çıkarılabilir:
- UUID'den son 12 onaltılık basamağı (48 bit) çıkarın
- XX:XX:XX:XX:XX:XX biçiminde iki nokta ile format
- MAC adresinin gerçek mi yoksa rastgele mi olduğunu çoklu yayın biti incelenerek kontrol edin
İlk baytın 0x01 biti set edilmişse, muhtemelen gerçek bir MAC adresi yerine rastgele bir düğüm kimliğidir.
Sıkça Sorulan Sorular
UUID v4'ün tam olarak ne zaman oluşturulduğunu belirleyebilir miyim?
Hayır. UUID v4 tamamen rastgeledir ve zaman damgası bilgisi içermez. Oluşturulma zamanı UUID v4 değerinden belirlenemez.
Zaman tabanlı UUID'lerde zaman damgaları ne kadar doğrudur?
UUID v1/v6 zaman damgaları 100 nanosaniye hassasiyetindedir. UUID v7 ve ULID milisaniye hassasiyetindedir. Ancak, gerçek sistem saati doğruluğu değişkenlik gösterebilir.
UUID sürümleri arasında dönüştürme yapabilir miyim?
Hayır, aynı tanımlayıcı değerini koruyarak sürümler arasında doğrudan dönüştürme yapılamaz. Farklı sürümler temelde farklı yapılara sahiptir.
UUID v1'i oluşturan bilgisayarı tanımlayabilir miyim?
Düğüm kimliği rastgeleleştirilmemişse, UUID v1 oluşturulan sistemin MAC adresini içerebilir. Ancak, birçok modern uygulama gizlilik için bunu rastgeleleştirir.
Bir UUID'nin geçerli olup olmadığını nasıl anlarım?
Formatı kontrol edin (8-4-4-4-12 onaltılık basamak), sürüm basamağının (13. karakter) 1-8 olduğunu doğrulayın ve varyant bitlerinin (17. karakter RFC 4122 UUID'leri için 8, 9, A veya B) doğru olduğunu onaylayın.