Nasıl kullanılır?
- Rastgele kimlikler için v4’ü, oluşturulma zamanına göre sıralanan kimlikler için v7’yi seçin.
- İhtiyacınız olan sayıyı (1–1.000) belirleyin ve biçimi seçin: büyük harf, kısa çizgili veya kısa çizgisiz, süslü parantezli veya parantezsiz.
- Tek bir UUID’yi düğmesiyle kopyalayın, hepsini kopyalayın veya her satırda bir UUID olacak şekilde metin dosyası olarak indirin.
- Mevcut bir UUID’yi incelemek için “UUID denetle” alanına yapıştırın.
Nasıl çalışır?
UUID (GUID olarak da bilinir), genellikle beş grupta 8-4-4-4-12 biçiminde yazılan 128 bitlik bir tanımlayıcıdır. Üçüncü grubun ilk rakamı sürümü, dördüncü grubun ilk rakamı ise varyantı belirtir (standart UUID’lerde 8, 9, a veya b). Biçim, 2024’te RFC 4122’nin yerini alan RFC 9562’de tanımlanmıştır.
Sürüm 4 UUID’ler rastgele oluşturulur. Bu araç, kullanılabilir olduğunda crypto.randomUUID, aksi hâlde crypto.getRandomValues kullanır; her ikisi de kriptografik açıdan güvenlidir. Math.random hiçbir zaman kullanılmaz. 122 rastgele bit sayesinde iki v4 UUID’nin çakışma olasılığı ihmal edilebilir düzeydedir: tek bir yinelenen değerle karşılaşma olasılığının %50 olması için yaklaşık 2.7 × 10^18 UUID oluşturmanız gerekir.
Sürüm 7 UUID’ler, milisaniye cinsinden 48 bitlik Unix zaman damgasıyla başlar; ardından sürüm, 12 bitlik bir alan ve 62 rastgele bit gelir. Zaman bilgisi başta yer aldığı için v7 değerleri oluşturulma sırasına göre sıralanır. Bu, veritabanı indekslerini daha kompakt tutar ve rastgele v4 anahtarlara kıyasla eklemeleri hızlandırır. Aynı milisaniyede birden fazla v7 UUID oluşturulduğunda bu araç, grubun her zaman kesin artan sırada olması için 12 bitlik alanı sayaç olarak kullanır (RFC 9562, bölüm 6.2’de açıklanan yöntem). v7 UUID’nin oluşturulma zamanını açığa çıkardığını unutmayın.
Denetleyici; UUID’leri kısa çizgili veya kısa çizgisiz, büyük ya da küçük harflerle, süslü parantez içinde veya urn:uuid: önekiyle kabul eder. Sürümü ve varyantı bildirir, özel nil ve max UUID’leri tanır ve 1, 6 ve 7 sürümlerine gömülü oluşturulma zamanını gösterir.
Örnekler
Yeni bir tablo için birincil anahtarlar
0192b3c4-5d6e-7f80-9a1b-2c3d4e5f6a7b gibi test verileri için 100 v7 UUID oluşturun. Oluşturulma zamanına göre sıralandıkları için, otomatik artan bir sütunda olduğu gibi daha sonra eklenen satırların anahtarları daha büyük olur.
Windows veya .NET projesi için GUID
Visual Studio proje dosyalarında, COM sınıf kimliklerinde ve Windows kayıt defterinde kullanılan {3F2504E0-4F89-41D3-9A0C-0305E82C3301} biçimini elde etmek için Büyük harf ve Süslü parantez seçeneklerini açın.
Bir günlükteki kimliği denetleme
018f6e2c-1a2b-7c3d-8e4f-5a6b7c8d9e0f değerini denetleyiciye yapıştırın. Sürüm 7 ve standart varyant olduğunu bildirir, ilk 12 rakamı Mayıs 2024 tarihindeki bir zaman damgası olarak çözümler ve böylece kaydın ne zaman oluşturulduğunu gösterir.
Sık sorulan sorular
UUID v4 mü, v7 mi kullanmalıyım?
Kimliklerin herhangi bir bilgiyi açığa çıkarmaması gereken durumlarda, örneğin herkese açık belirteçlerde veya dosya adlarında v4 kullanın. Zamana göre sıralamanın indeks performansını artırdığı veritabanı anahtarları ve etkinlik kimlikleri için v7 kullanın. Her iki sürümde de çakışmaların pratikte sorun olmayacağı kadar çok rastgele bit bulunur.
Bu UUID’ler gerçekten benzersiz mi?
Herhangi bir listeye göre kontrol edilmezler; ancak kriptografik açıdan güvenli bir rastgele sayı üreteciyle oluşturulduklarından yinelenme olasılıkları gerçek sistemlerde göz ardı edilebilecek kadar düşüktür. v7 değerleri ayrıca geçerli zamanı içerir.
UUID ile GUID aynı şey mi?
Evet. GUID (küresel olarak benzersiz tanımlayıcı), Microsoft’un aynı 128 bitlik biçim için kullandığı addır. GUID’ler genellikle büyük harflerle ve süslü parantez içinde gösterilir; burada bu biçimi seçebilirsiniz.
UUID’yi parola veya gizli belirteç olarak kullanabilir miyim?
v4 UUID 122 rastgele bit içerdiğinden tahmin edilmesi zordur. Ancak UUID’ler sır olarak saklanmak için değil, tanımlayıcı olarak tasarlanmıştır ve çoğu zaman günlüklerde ve URL’lerde yer alır. API anahtarları veya parola sıfırlama bağlantıları için özel bir rastgele belirteç oluşturucu kullanın.
v7 zaman damgası bilgisayarımın saatini mi kullanıyor?
Evet. Zaman, cihazınızın UTC cinsinden milisaniye hassasiyetindeki saatinden alınır. Saat yanlışsa gömülü zaman da yanlış olur, ancak tek bir toplu işlemdeki kimlikler yine de artan sırada olur.
Gizlilik
UUID’ler, tarayıcınızın kriptografik rastgele sayı üreteciyle oluşturulur. Sunucuya gönderilmez, saklanmaz veya günlüğe kaydedilmez; dolayısıyla oluşturduğunuz ya da denetlediğiniz değerleri başka hiç kimse göremez.