Ana içeriğe geç

Deterministik UUID v5 değerleri oluşturma

Sürüm 5 UUID, bir ad alanı UUID'si ve bir addan SHA-1 ile türetilir. Aynı ad alanını ve aynı adı karma işleminden geçiren herkes tam olarak aynı UUID'yi elde eder; böylece kimlikler saklanmak yerine yeniden hesaplanabilir.

Çözümlü örnek

Ad Alanı (UUID)
DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8)
İsim
example.com
Sonuç
cfbff0d1-9375-5685-968c-48ce8b15ae17
Ad Alanı (UUID)
DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8)
İsim
Example.com
Sonuç
a1feb884-07f5-5a14-8edb-cb659a7fbadc

Nasıl çalışır

  • Ad alanının 16 baytı, adın UTF-8 baytlarıyla birleştirilir ve SHA-1 ile karma işleminden geçirilir. Özetin ilk 16 baytı, sürüm (5) ve varyant bitleri ayarlandıktan sonra UUID olur.
  • RFC 9562; DNS adları, URL'ler, ISO OID'ler ve X.500 ayırt edici adları için ad alanlarını önceden tanımlar. Kendi UUID'nizi de özel ad alanı olarak kullanabilirsiniz.
  • Adlar bayt bayt karşılaştırılır: büyük/küçük harf, boşluklar ve sondaki eğik çizgiler sonucu değiştirir; bu yüzden adları önce normalleştirin. Çıktı tahmin edilebilir olduğundan UUID v5'i asla sır olarak kullanmayın.
UUID Sürümü

Bir seferde 1-100 UUID oluşturun

DNS ad alanı: 6ba7b810-9dad-11d1-80b4-00c04fd430c8 (varsayılan)

Karma yapılacak isim (örn. alan adı, e-posta vb.)

UUID Hakkında

UUID v1: UUID'yi oluşturan bilgisayarın zaman damgasını ve MAC adresini içeren zaman tabanlı UUID'ler. UUID'nin ne zaman oluşturulduğunu bilmeniz gerektiğinde kullanışlıdır.

UUID v4: Rastgele oluşturulan UUID'ler. Bu, en yaygın kullanılan sürümdür ve minimum bilgi sızıntısı ile iyi benzersizlik sağlar.

UUID v5: SHA-1 karma kullanan isim tabanlı UUID'ler. Aynı ad alanı ve isim verildiğinde, her zaman aynı UUID'yi alırsınız. Deterministik UUID oluşturma için kullanışlıdır.

Diğer UUID kılavuzları