UUID Oluşturucu
Tarayıcınızda sürüm 4 ya da sürüm 7 UUID oluşturun; tek tek ya da bir seferde yüz tane.
Tamamen tarayıcınızda çalışır. Hiçbir şey yüklenmez, günlüğe yazılmaz veya saklanmaz.
UUID, merkezi bir otoriteye sormadan her yerde oluşturabileceğiniz ve yine de benzersiz olmasını bekleyebileceğiniz 128 bitlik bir tanımlayıcıdır. Burada iki sürüm sunulur, çünkü farklı sorunları çözerler.
Nasıl çalışır
Sürüm 4, sürümü ve varyantı belirten altı sabit bitle birlikte 122 rastgele bitten oluşur. Hiçbir bilgi taşımaz; bu, herkese açık bir tanımlayıcıda tam olarak istediğiniz şeydir ve onu kötü bir kümelenmiş birincil anahtar yapan şey de tam olarak budur: art arda yapılan eklemeler dizinde birbiriyle ilgisiz yerlere düşer.
RFC 9562'de standartlaştırılan sürüm 7, 74 rastgele bitin önüne milisaniye cinsinden 48 bitlik bir zaman damgası koyar. Sonra oluşturulan değerler öncekilerin arkasına sıralanır; böylece eklemeler dizinin sonunda kalır ve zaman aralığına göre sorgular çalışır. Bunun karşılığında tanımlayıcı ne zaman oluşturulduğunu ele verir.
Rastgele bitler Math.random'dan değil, tarayıcınızın kriptografik rastgele sayı üretecinden, yani anahtarlar için kullanılan kaynaktan gelir.
Sık sorulan sorular
v4 mü, v7 mi kullanmalıyım?
Sıralamanın dizini sağlıklı tuttuğu bir veritabanı birincil anahtarı için v7. Tanımlayıcı dışarıya açıksa ve bir oluşturulma tarihini sızdırmaması gerekiyorsa ya da sıralama saatte kaç kayıt oluşturduğunuzu tahmin ettirebilecekse v4.
İki UUID çakışabilir mi?
İlke olarak evet, pratikte v4 ile hayır: 122 rastgele bitle bir çakışmanın olası hâle gelmesi için bir yüzyıl boyunca saniyede milyarlarca UUID oluşturmanız gerekirdi. Gerçek risk zayıf bir rastgelelik kaynağıdır; burada kriptografik kaynağın kullanılmasının nedeni budur.
Peki v1?
Sürüm 1, onu oluşturan makinenin MAC adresini içine gömer ve bu da donanımın kimliğini sızdırır. v7 aynı zaman sıralamasını bu olmadan sunar ve onun modern halefidir.
Bilmekte fayda var
- Değerler tarayıcınızda oluşturulur ve hiçbir zaman hiçbir yere gönderilmez.
- Bu araç deterministik değildir: sayfayı yeniden yüklemek yeni tanımlayıcılar verir; amaç da zaten budur.