UUID Çözücü ve Doğrulayıcı

UUID'leri çözümleyin ve doğrulayın, sürüm, zaman damgası ve meta verileri çıkarın

Bu örnekleri deneyin:

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ış

FormatDescription
8-4-4-4-12Tirelerle gruplanmış 32 onaltılık basamak
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 (örneğin, 123e4567-e89b-12d3-a456-426614174000 sürüm 1 için).

UUID Sürümüne Göre Çözümleme

VersionNeler çözümlenebilir
UUID v1
  • Zaman damgası (100ns hassasiyetle, 15 Ekim 1582'den itibaren)
  • MAC adresi (rastgele değilse)
  • Çakışmayı önlemek için saat dizisi
UUID v3/v5
  • Orijinal girdiyi çözümlenemiyor
  • Bilinen girdilerden oluşturulup oluşturulmadığını doğrulayabilir
  • v3 (MD5) ve v5 (SHA-1) arasında ayrım yapabilir
UUID v4
  • Sadece rastgele veri
  • Çıkarılabilir bilgi yok
  • Geçerli bir v4 UUID olduğunu doğrulayabilir
UUID v6
  • Zaman damgası (100ns hassasiyetle, 15 Ekim 1582'den itibaren)
  • MAC adresi (rastgele değilse)
  • Çakışmayı önlemek için saat dizisi
UUID v7
  • Unix zaman damgası (milisaniye hassasiyeti)
  • Rastgele bileşen (çözümlenemez)
ULID
  • Unix zaman damgası (milisaniye hassasiyeti)
  • Rastgele bileşen (çözümlenemez)

UUID'lerden Zaman Damgası Çıkarma

UUID TürüZaman Çıkarma YöntemiEpoch
UUID v10-31, 32-47 ve 48-59 bitlerini birleştirerek zaman damgası bileşenlerini yeniden sıralama15 Ekim 1582
UUID v60-59 bitlerini çıkar (zaten doğru sırada)15 Ekim 1582
UUID v70-47 bitlerini çıkar (Unix milisaniyeleri)1 Ocak 1970
ULID48 bit Unix milisaniyelerini elde etmek için ilk 10 Base32 karakterini çözümle1 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:

  1. UUID'den son 12 onaltılık basamağı (48 bit) çıkarın
  2. XX:XX:XX:XX:XX:XX biçiminde iki nokta ile format
  3. 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.

Resources