Açıklama
UUID Üreteci nasıl çalışır
UUID üreteci, evrensel olarak benzersiz tanımlayıcıları (Universally Unique Identifiers) doğrudan tarayıcıda üretir. UUID v4, 122 bit kriptografik rastgeleliğe dayanır ve zaman referansı olmayan uygulamalar için en yaygın UUID türüdür.
Standart biçim tireler kullanır: 8-4-4-4-12 onaltılık karakter (ör. 550e8400-e29b-41d4-a716-446655440000). 48-51. bitler sürümü (4), 64-65. bitler varyantı (10) kodlar. Ayrıca tiresiz veya büyük harfli kompakt UUID'ler de üretebilirsin.
Üretim, kriptografik olarak güvenli rastgele değerler için tarayıcının Web Crypto API'sini (crypto.randomUUID veya crypto.getRandomValues) kullanır.
Sık yapılan hatalar
- Bir UUID'yi güvenlik özelliği olarak kullanmak: UUID'ler benzersizdir ancak gizli değildir. Erişim jetonu veya parola yedeği olarak uygun değildirler.
- Benzersizliği garanti olarak görmek: UUID'ler astronomik olarak yüksek olasılıkla benzersizdir, ancak matematiksel bir garanti sunmazlar. Mutlak benzersizlik için merkezi kayıt gerekir.
- UUID v4'ü sıralanabilir kayıtlar için kullanmak: UUID v4'ün zamansal bir sırası yoktur. Sıralanabilir ID'ler için UUID v7 (RFC 9562) veya ULID daha uygundur.
- UUID'leri performansı dikkate almadan veritabanı dizini olarak kullanmak: Rastgele UUID'ler B-Tree dizinlerinde parçalanmaya yol açabilir. UUID v7 veya ardışık ID'ler birincil anahtar olarak daha performanslıdır.
Bu aracın sınırları
- Yalnızca UUID v4 — v1 (zaman tabanlı), v5 (ad tabanlı) veya v7 (zaman sıralı) desteği yok.
- Yerel olarak üretilir, merkezi kayıt veya yineleme denetimi yok.
- Güvenlik jetonu olarak uygun değil — bunun için özel kripto jetonları kullan.
- Girilen UUID'lerin doğrulaması yok — yalnızca üretim.
Kaynaklar
- RFC 9562: Universally Unique IDentifiers (UUIDs). IETF, 2024. UUID v7'yi tanımlar ve UUID v4'ü günceller.
- RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace. IETF, 2005. UUID v4'ün özgün tanımı.
- Web Crypto API: crypto.randomUUID() — W3C/MDN. UUID v4 üretimi için yerel tarayıcı API'si.