UUID Çözücü ve Zaman Damgası Çıkarıcı

UUID v1, v6 ve v7 zaman damgalarını ISO UTC ve Unix zamanına çevirin, ardından sürüm ve meta verileri inceleyin.

Bu örnekleri deneyin:

UUID Çözümleme Nedir?

UUID çözümleme bir UUID'den bilgiyi çıkarmak şu işlemdir:

  • Version: 48-51 konumundaki 4 bitten hangisinin UUID sürümü (1-8) olduğu
  • Variant: 64-65 bitlere (genellikle RFC 4122) göre hangi UUID varyantı olduğu
  • Components: Sürüme göre zaman damgası, düğüm ID'si veya diğer verilerin çıkarılması
  • Oluşturulma zamanı: Zaman tabanlı UUID'ler için (v1, v6, v7)

Example: 123e4567-e89b-12d3-a456-426614174000 zaman damgasına sahip bir Sürüm 1 UUID'sidir 2228-06-25T20:01:28.545Z JavaScript milisaniye duyarlılığında gösterildiğinde.

UUID Yapısına Genel Bakış

FormatDescription
8-4-4-4-12Kısa çizgilerle gruplanmış 32 onaltılık hane
Sürüm bitleri48-51 bitler (13. basamak)
Varyant bitleri64-65 bitler (17. basamak)

Sürüm numarası üçüncü gruptaki ilk onaltılık basamak olarak görünür (ör., 123e4567-e89b-12d3-a456-426614174000 sürüm 1 için).

Sürüme Göre Çözümleme

VersionNeler çözümlenebilir
UUID v1
  • Zaman damgası (100ns duyarlılıkla, 15 Ekim 1582'den itibaren)
  • MAC adresi (rastgeleleştirilmemişse)
  • Çakışmayı önlemek için saat dizisi
UUID v3/v5
  • Ad alanı ve ad, hash'ten kurtarılamaz
  • Ancak ad alanı ve ad bilindiğinde yeniden üretilebilir
  • v3 (MD5) ile v5 (SHA-1) ayrımı yapılabilir
UUID v4
  • Sadece rastgele veri
  • Çıkarılabilir bilgi yok
  • Geçerli bir v4 UUID olduğu doğrulanabilir
UUID v6
  • Zaman damgası (100ns duyarlılıkla, 15 Ekim 1582'den itibaren)
  • MAC adresi (rastgeleleştirilmemişse)
  • Çakışmayı önlemek için saat dizisi
UUID v7
  • Unix zaman damgası (milisaniye duyarlılığı)
  • Rastgele bileşen (çözümlenemeyen)

UUID'lerden Zaman Damgası Çıkarma

UUID TürüZaman Çıkarma YöntemiEpoch
UUID v1Zaman damgası bileşenlerini yeniden sıralayarak 0-31, 32-47 ve 48-59 bitlerini birleştirin15 Ekim 1582
UUID v60-47 bitleri ile 52-63 bitlerini birleştir; 48-51 bitleri sürüm olduğu için hariç tutulur15 Ekim 1582
UUID v70-47 bitlerini çıkarın (Unix milisaniyeleri)1 Ocak 1970

UUID Doğrulama Kuralları

  • Biçim kontrolü: Tirelerle 8-4-4-4-12 onaltılık hane
  • 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}$

UUID v7 zaman damgası örneği

017f22e2-79b0-7cc3-98c4-dc0c0c07398f RFC 9562 UUIDv7 test vektörüdür. İlk 48 biti Unix milisaniyeleridir ve çözümlendiğinde 2022-02-22T19:22:22.000Z, 1645557742000 milisaniye veya 1645557742 seconds.

Yeni bir tane oluşturun UUID v7, veya devam edin Unix Zaman Damgası Dönüştürücü. Bu bağlantılar girdiğiniz UUID'yi içermez.

Pratik Uygulamalar

  • Adli analiz: ID'lerin ne zaman oluşturulduğunu belirleme
  • Debugging: ID zaman damgalarıyla sistem davranışını izleme
  • Auditing: Kronolojik bütünlüğü doğrulama
  • Biçim kontrolleri: Bozuk ID'leri tespit etme; geçerli bir UUID kimliğin doğruluğunu kanıtlamaz
  • Veri kurtarma: Zaman ilişkilerini yeniden oluşturma
  • Sistem geçişleri: Eski UUID uygulama detaylarını anlama

MAC Adresi Çıkarma (v1/v6)

UUID v1 ve v6 için, oluşturma sırasında düğüm tanımlayıcısı (MAC adresi) rastgeleleştirilmemişse genellikle çıkarabilirsiniz:

  1. UUID'den son 12 onaltılık haneyi (48 bit) çıkarın
  2. XX:XX:XX:XX:XX:XX biçiminde iki nokta ile formatlayın
  3. Multicast bitini inceleyerek MAC adresinin gerçek mi yoksa rastgele mi olduğunu kontrol edin

Eğer ilk baytın 0x01 biti set edilmişse, bu muhtemelen gerçek bir MAC adresi yerine rastgeleleştirilmiş bir düğüm ID'sidir.

Sıkça Sorulan Sorular

Bir 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ının doğruluğu ne kadar?

UUID v1/v6 zaman damgaları 100 nanosaniye duyarlılığına sahiptir. UUID v7 milisaniye duyarlılığındadır. Ancak gerçek sistem saati doğruluğu değişkenlik gösterebilir.

UUID sürümleri arasında dönüştürebilir miyim?

Hayır, farklı sürümler temel yapıları farklı olduğu için aynı kimlik değerini koruyarak doğrudan dönüştürme yapılamaz.

Bir UUID v1'i hangi bilgisayarın oluşturduğunu tespit edebilir miyim?

Düğüm ID'si rastgeleleştirilmemişse, bir UUID v1 oluşturulan sistemin MAC adresini içerebilir. Ancak gizlilik için birçok modern uygulama bunu rastgeleleştirir.

Bir UUID'nin geçerli olup olmadığını nasıl anlarım?

Biçimi kontrol edin (8-4-4-4-12 onaltılık hane), sürüm basamağının (13. karakter) 1-8 olduğunu doğrulayın ve varyant bitlerini kontrol edin (RFC 4122 UUID'ler için 17. karakter 8, 9, A veya B olmalıdır).

Resources