UUID oluşturucu ile benzersiz kimlik üret
Bir veritabanı kaydına, bir dosyaya ya da bir API isteğine çakışma riski olmadan kimlik vermek istediğinde en pratik çözüm UUID’dir. UUID oluşturucu aracı istediğin sürümde 1 ile 100 arasında kimlik üretir ve bunları alt alta listeler. Büyük harf kullanmak ya da tireleri kaldırmak gibi biçim tercihlerini yapabilirsin; liste altında üretilen ve biçimi geçerli olan kimlik sayısı da gösterilir. Microsoft dünyasında GUID olarak bilinen yapı da aynı standarttır, bu yüzden araç GUID oluşturucu olarak da kullanılabilir.
UUID 128 bitlik bir sayıdır ve 8-4-4-4-12 düzeninde 36 karakterle yazılır. Sürüm 4’te 122 bit tamamen rastgeledir; kalan bitler sürümü ve varyantı belirtir. Bu yüzden üçüncü grubun ilk karakteri her zaman 4’tür. Araç rastgele sayıları tarayıcının güvenli üreteci olan crypto.getRandomValues ile üretir, yani tahmin edilebilir bir dizi oluşmaz.
Örnek: Bir üretimde 6181ffae-2df6-47fa-82ed-5eea2efc62c7 gibi bir kimlik çıkar; üçüncü grubun 47fa ile başladığına dikkat et. 122 rastgele bit yaklaşık 5,3 × 10^36 farklı değer demektir. Çakışma ihtimalinin neden bu kadar düşük olduğunu doğum günü paradoksu hesaplamasıyla sezgisel olarak görebilir, kesin oranı da hash çakışma olasılığı aracıyla hesaplayabilirsin. Milyarlarca UUID üretsen bile çakışma ihtimali ihmal edilebilir düzeydedir.
Dikkat edilecek bir nokta: UUID gizli bir değer değildir, bu yüzden parola sıfırlama anahtarı ya da oturum tokeni gibi güvenlik gerektiren yerlerde tek başına kullanılmamalıdır. Bu tür değerler için şifre oluşturucu gibi daha uzun ve amaca özel üreteçler tercih edilir. Veritabanında birincil anahtar olarak kullanacaksan, sıralı olmadığı için indeks performansını etkileyebileceğini de hesaba kat.