UUID oluşturucu

Veritabanları, API'ler ve testler için tek tıkla benzersiz kimlikler.

Format

Tarayıcında çalışır. Yazdığın hiçbir şey bir yere gönderilmez.

Bir UUID nasıl oluşturulur

  1. Rastgele kimlikler için sürüm 4'ü, zamana göre sıralanan kimlikler için sürüm 7'yi seç.
  2. Kaç tane istediğini ve formatı ayarla.
  3. Oluştur'a tıkla, sonra listeyi kopyala veya indir.

UUID sürümleri karşılaştırması

SürümNeyden oluştuğuZamana göre sıralanır mı?
v4 (bu araç)122 rastgele bitHayır
v7 (bu araç)48 bitlik zaman damgası artı rastgele bitlerEvet
v1 (burada sunulmuyor)Zaman damgası artı makinenin MAC adresiEvet, ama hangi makinenin oluşturduğunu sızdırabilir

RFC 9562'ye göre UUID yapısı

ParçaUzunlukAnlamı
Sürüm dörtlüsü (nibble)1 onaltılık rakamSürüm 4 için 4, sürüm 7 için 7, 3. grupta
Varyant bitleri4. grubun en üst 2 bitiBu RFC'nin UUID varyantı için 10 olarak ayarlanır
Toplam uzunluk36 karakter32 onaltılık rakam artı 4 tire

UUID kullanma ipuçları

  • Veritabanın sunuyorsa UUID'leri yerel bir UUID veya 16 baytlık ikili sütunda sakla. Onları 36 karakterlik metin olarak saklamak her birinin kapladığı alanı kabaca ikiye katlar.
  • Sürüm 7'nin baştaki zaman damgası kimliklerin oluşturulma zamanına göre sıralanmasını sağlar, ama aynı zamanda bir kimliği elinde tutan herkesin, milisaniyesine kadar, yaklaşık ne zaman oluşturulduğunu anlayabileceği anlamına gelir.
  • Süslü parantez ve tiresiz format, bazı eski Windows API'lerinin ve PowerShell betiklerinin bir GUID'in nasıl görünmesini beklediğiyle eşleşir.

UUID oluşturucu SSS

UUID v4 ile v7 arasındaki fark nedir?

Sürüm 4, 122 rastgele bittir. Sürüm 7, milisaniye cinsinden 48 bitlik bir zaman damgasıyla başlar, ardından rastgele bitler gelir; bu yüzden daha yeni kimlikler daha eskilerden sonra sıralanır.

İki UUID hiç aynı olabilir mi?

Pratikte hayır. Milyarda bir ihtimalle tek bir çakışma için yaklaşık 103 trilyon sürüm 4 UUID oluşturman gerekir.

Bir GUID, UUID ile aynı mı?

Evet. GUID, Microsoft'un aynı 128 bitlik format için kullandığı isimdir. Windows ve .NET'te kullanılan {XXXXXXXX-XXXX-...} stili için Büyük harf ve Süslü parantez seçeneklerini işaretle.

Bir veritabanı birincil anahtarı için hangi sürümü kullanmalıyım?

Sürüm 7. Değerleri zaman sırasıyla geldiğinden yeni satırlar rastgele noktalar yerine indeksin sonuna yerleşir, bu da eklemeleri hızlı tutar. Bir kimliğin ne zaman oluşturulduğunu ortaya çıkarmaması gerektiğinde sürüm 4'ü kullan.

Bir UUID'yi parola veya gizli token olarak kullanabilir miyim?

Rastgele bitler tarayıcının kriptografik olarak güvenli üretecinden gelir, ama bir UUID bir tanımlayıcı olması amaçlanmıştır. Sürüm 7 kimlikleri de oluşturulma zamanlarını ortaya çıkarır, bu yüzden gizli bilgiler için bir şifre oluşturucu kullan.

Bir UUID ne kadar uzun?

Tireli haliyle 36 karakter: 32 onaltılık rakam ve 4 tire, toplamda 128 bit veriyi kodlar.

Bu, kriptografik olarak güvenli bir rastgele kaynak kullanıyor mu?

Evet. Her iki sürüm de crypto.getRandomValues'tan (veya sürüm 4 için crypto.randomUUID'den) oluşturulur; tarayıcının kriptografik olarak güvenli rastgele sayı üretecidir, asla Math.random değil.

İlgili araçlar