UUID oluşturucu
Tamamen tarayıcınızda çalışır. Dosyalarınız ve verileriniz cihazınızdan hiç çıkmaz.
Bu araç hakkında
UUID, tire ile ayrılmış 32 onaltılık rakamdan oluşan 128 bit’lik bir kimliktir, örneğin f47ac10b-58cc-4372-a567-0e02b2c3d479. Amacı, merkezi bir koordinatör olmadan iki farklı sistemin bağımsız olarak kimlik üretebilmesi ve pratikte hiç çakışmamasıdır. Bu araç v4 ve v7 UUID’lerini, tek tek ya da yüzlercesini birden üretir.
v4 ile v7 arasındaki fark ne?
Sürüm 4 tamamen rastgeledir: 122 bit doğrudan tarayıcının crypto.randomUUID() fonksiyonundan gelir, kalan 6 bit ise RFC 9562’nin gerektirdiği şekilde sürüm ve varyantı işaretlemek için sabittir. Bu rastgelelik, v4 kimliklerinin ne zaman veya hangi sırayla oluşturulduğuna dair hiçbir ipucu vermemesinin de sebebidir; bir API anahtarı gibi durumlarda çoğu zaman tam istediğiniz şey budur.
Sürüm 7 bu rastgeleliğin bir kısmını sıralama karşılığında feda eder: ilk 48 biti o anki Unix zaman damgasıdır (milisaniye cinsinden), geri kalanı rastgeledir. Yani daha sonra üretilen kimlikler, yalnızca metinleri karşılaştırarak, daha önce üretilenlerden sonra sıralanır; bu da v4’ün dağınık değerlerine göre veritabanı indeksleriyle çok daha iyi uyum sağlar. Bu araç v7 kimliklerini, tamponu Web Crypto API’sinden gelen kriptografik olarak rastgele baytlarla doldurup ilk altı baytın üzerine o anki zaman damgasını yazarak oluşturur; yani rastgele kısım yine v4 ile aynı güvenli kaynaktan gelir.
Hangisini kullanmalıyım?
Kimlikler birincil anahtarsa ya da bir veritabanı indeksine eklenecekse v7’yi tercih edin, çünkü sıralı sayılabilecek değerler indeksin parçalanmasını önler. Oluşturulma zamanının kimlikten tahmin edilebilir olmasını özellikle istemediğiniz durumlarda, örneğin bir parola sıfırlama belirteci ya da oturum kimliği için v4’ü tercih edin.
Bu, sunucuya bir şey gönderiyor mu?
Hayır. Her UUID tamamen tarayıcınızda, tarayıcının kendisinin de TLS anahtarları gibi işler için kullandığı Web Crypto API’si aracılığıyla üretilir; yani hiçbir şey hiçbir yere gönderilmez ve bir veritabanı taşıması ya da bir grup test verisi için ihtiyacınız kadar kimliği sunucuya dokunmadan üretebilirsiniz.
Veritabanı anahtarları dışında yaygın kullanımlar: loglama ve izleme için istek kimlikleri, testler ve mock veriler için doldurma verisi. Tarayıcının rastgeleliği nasıl ürettiğine dair MDN’nin crypto.randomUUID() referansına, bu aracın belirlediği sürüm ve varyant bitleri dahil tam biçim için RFC 9562’ye bakabilirsiniz.