Nasıl çalışır
UUID Üretici — Kriptografik rastgele UUID v4 toplu üret. Tüm işlemler tarayıcında yapılır — yükleme yok, üyelik yok, e-posta gerek yok. Sonsuza dek ücretsiz.
Son güncelleme:
UUID Üretici hakkında
Bir database seed için on bin benzersiz kimlik mi, yeni bir feature flag için tek bir id mi, bir log correlation header'ı için taze bir request id mi gerek? Bu UUID v4 üretici, tarayıcının yerleşik crypto.randomUUID() primitive'ini kullanarak kriptografik olarak rastgele kimlikler üretir — Node.js, OpenSSL ve modern işletim sistemlerinin güvenlik token'ı oluştururken kullandığının aynısı.
UUID versiyon 4 demek "tamamen rastgele, namespace yok, MAC adresi yok, timestamp yok" demek. Her id'de 122 bit entropy var, dolayısıyla tüm servislerin saniyede milyarlarca üretse bile çakışma olasılığı pratik olarak sıfır. Merkezi bir auto-increment sayacına güvenemediğin durumlarda UUID'yi default primary key yapan şey budur — sharded database'ler, offline-first uygulamalar, event-sourced sistemler hep bu özelliğe yaslanır.
Tüm üretim tarayıcında lokal yapılır. UUID'ler ne network'e gönderilir, ne loglanır, ne saklanır — sayfayı yenilersen kaybolur. Üçüncü taraf analitik veya sunucu loglarında görünmesini istemediğin hassas kayıtlar için id ön-tahsis ediyorsan bu fark eder.
UUID Üretici nasıl kullanılır
- "Adet" değerini ihtiyacın kadar gir (hızlı bir test için 1, seed dosyası için binlerce).
- Database'in 32 karakterlik kompakt hex form bekliyorsa "Tireleri ekle"yi kapat.
- Style guide'ın veya storage sistemin A–F harflerini büyük istiyorsa "Büyük harf"i aç.
- Üret'e bas; sonra "Tümünü kopyala" ile editörüne veya migration script'ine yapıştır.
- Yeni bir set istediğinde Üret'e tekrar bas — eşit derecede rastgele yeni bir batch verir.
Yaygın kullanım senaryoları
- Toplu insert öncesi primary key ön-tahsisi: client ve sunucu round trip olmadan id'lerde anlaşır.
- Ödeme, webhook teslimi veya message queue producer'ı için idempotency key oluşturmak.
- Yüzlerce kayıtta sabit şekilli ama benzersiz değerlere ihtiyaç duyan test fixture'larını doldurmak.
- Bug reprodüksiyonunda log sorgularına yapıştıracağın correlation/request id'leri üretmek.
- Bölgeler arasında asla çakışmaması gereken feature flag, experiment veya tenant id'leri üretmek.
İpuçları ve dikkat edilmesi gerekenler
- UUID v4'ü sıralanabilir key olarak kullanma. Milisaniye arayla üretilen iki id rastgele sıralanır — temporal sıralama gerekiyorsa ULID veya UUID v7 düşün.
- binary(16) olarak saklamak, MySQL ve Postgres'te 36 karakterlik text forma kıyasla index boyutunu yarıya indirir.
- Loglarında aynı UUID'yi iki kez görüyorsan, suçlu rastgele kaynağı değil; değeri yeniden kullanan bug'lı bir retry'dır. v4'ün çakışma olasılığı bug oranından astronomik olarak küçüktür.
- Tarayıcıda üretmek client-side ihtiyaçlar için ok ama güvenlik kritik id'leri (session token, parola sıfırlama linki) sunucuda yeniden üret — kullanıcı kendi değerini seçemesin.
Sıkça sorulan sorular
Üretilen UUID'ler kriptografik olarak rastgele mi?
Evet. Tarayıcının crypto.randomUUID() (veya crypto.getRandomValues fallback) primitive'ini kullanıyoruz — güvenlik token'ları için kullanılan aynı kaynak.
Hangi UUID versiyonu üretiliyor?
UUID v4 — tamamen rastgele, 122 bit entropy. Saniyede milyarlarca üretsen bile çakışma olasılığı ihmal edilebilir.
Tireler olmadan veya büyük harfli UUID alabilir miyim?
Evet. 'Tireleri ekle' kapatırsan 32 karakterlik hex string olur, 'Büyük harf' açarsan ABC… formatına döner. İkisi de bütün üretilen değerlere uygulanır.
Bu araçla UUID v1, v5 veya v7 üretebilir miyim?
Şu an yalnızca v4 (rastgele). v1 MAC adresi ve zaman sızdırır, v5 namespace+name ister, v7 zamana göre sıralanır — hepsi daha dar senaryolarda işe yarar. Çoğu uygulama düzeyi id için v4 güvenli default'tur, framework'ler de zaten onu seçer.
Bu değerler güvenlik token'ı olarak kullanılabilir mi?
Tahmin edilemeyecek kadar rastgele ama UUID v4'te 122 bit entropy var — tipik bir session token'ında 256. Uzun ömürlü secret'lar için özel token API'leri (en az 32 byte ile crypto.getRandomValues), kısa ömürlü id'ler için UUID gayet uygun.
128 bit'lik UUID'de neden sadece 122 rastgele bit var?
Altı bit version ("4") ve variant ("10") işaretleri için ayrılmıştır; herhangi bir araç şekli tanıyabilsin diye. Kalan 122 bit rastgele, bu da yaklaşık 5×10^36 olası değer demek.
İlgili araçlar
- URL Encoder/DecoderURL'lerini ve URI bileşenlerini encode/decode et
- JWT DecoderJSON Web Token header, payload ve son kullanma tarihini çöz
- Regex Test AracıRegex desenlerini canlı eşleşme vurgulamasıyla test et
- Cron İfade OluşturucuCron expression oluştur ve insan diline çevir
- SQL FormatlayıcıSQL sorgularını güzelleştir, küçült veya tüm büyük dialect'lerde formatla
- YAML ↔ JSON ÇeviriciYAML ile JSON arasında çift yönlü dönüşüm