Bir UUID v3 nedir?
Bir UUID v3, ad alanı UUID'si ile ismin birleşimini MD5 ile özetler ve sonuçtaki 128 biti UUID biçimine yerleştirir. Rastgelelik yoktur: girdi değişmezse çıktı da değişmez.
Bu kararlılık, dağıtık sistemlerde kimlik üretmek için merkezî koordinasyon gereğini ortadan kaldırır. Buna karşılık MD5 kırılmış bir özet fonksiyonudur; güvenlik gerektiren yeni tasarımlarda v3 yerine v5 (SHA-1) tercih edilir.
Nasıl kullanılır
- Bir ad alanı seçin: DNS, URL, OID ya da X.500.
- İsim alanına özetlenecek metni yazın, örneğin
example.com. - Oluştur düğmesine basın; aynı girdi her seferinde aynı UUID'yi verir.
Kullanım alanları
- Bir alan adından her zaman aynı kimliği üretmek.
- Dosya yolu veya kaynak adından kararlı birincil anahtar çıkarmak.
- Özet tabanlı önbellek anahtarları ve yapılandırma kimlikleri.
UUID v3 nerede duruyor
| Seçenek | Ne zaman kullanılır |
|---|---|
v3 | MD5: hızlı ve deterministik, yeni tasarımlarda önerilmez |
v5 | Aynı fikrin SHA-1 sürümü; yeni projelerde bunu seçin |
v4 | Rastgele; aynı girdiden aynı kimliği istemiyorsanız doğru tercih |
UUID sürümleri kısaca
| Sürüm | Sıralanabilir | Neye dayanır | Ne için kullanılır |
|---|---|---|---|
| v1 | Hayır | Zaman damgası + MAC adresi | Hâlâ v1 bekleyen eski sistemler |
| v3 | Hayır | Bir ismin MD5 özeti | MD5 zorunlu olduğunda deterministik kimlik |
| v4 | Hayır | 122 bit rastgele | Neredeyse tüm genel amaçlı kimlikler |
| v5 | Hayır | Bir ismin SHA-1 özeti | Aynı ismin her zaman aynı kimliği vermesi gerektiğinde |
| v6 | Evet | Yeniden sıralanmış zaman damgası | Rastgelelikten vazgeçmeden sıralanabilir kimlik |
| v7 | Evet | Milisaniyelik Unix zamanı | Veritabanı birincil anahtarları ve olay kimlikleri |
| v8 | Hayır | Sizin bit düzeniniz | Özel veya deneysel biçimler |
Yedi sürümün tümü 128 bittir ve aynı 8-4-4-4-12 biçiminde yazılır. Değişen tek şey bitlerin anlamıdır.
Sık sorulan sorular
v3 gerçekten deterministik mi?
Evet. Aynı ad alanı ve aynı isim her zaman aynı UUID'yi verir. Farklı bir makinede ya da yıllar sonra üretmeniz sonucu değiştirmez.
v3'ü güvenlik için kullanabilir miyim?
Hayır. MD5 çakışma saldırılarına karşı kırılmıştır; bir saldırgan iki farklı isme aynı UUID'yi denk getirebilir. Güvenlik gerekiyorsa v5, daha güçlü bir gereksinim varsa kendi HMAC tabanlı şemanızı kullanın.
UUID sürüm numarası neden 3?
Sürüm alanı 4 bittir ve burada 3 değerini taşır. Standart, yedi sürümün tümünü aynı 128 bitlik çerçevede tanımlar; yalnızca bitlerin anlamı değişir.