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.
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.