UUID Üretici (v4)

Rastgele, çakışmasız kimlikler (UUID/GUID) üretin — tek tek veya toplu, istediğiniz formatta.

%100 tarayıcıda çalışır — üretilen kimlikler hiçbir yere gönderilmez.

UUID Nedir, Ne İşe Yarar?

UUID (Universally Unique Identifier — evrensel olarak benzersiz kimlik), merkezi bir kayıt otoritesine ihtiyaç duymadan farklı sistemlerin veya aynı sistemin farklı zamanlardaki çalıştırmalarının birbirinden bağımsız olarak üretebileceği 128 bitlik bir kimlik standardıdır. Bu araç en yaygın kullanılan sürüm olan UUID v4'ü üretir: kimliğin 122 biti tamamen rastgeledir (kriptografik olarak güvenli bir rastgele sayı üretecinden gelir), geri kalan 6 bit ise sürüm ve varyant bilgisini taşır. Sonuç, 8-4-4-4-12 hane grupları hâlinde tirelerle ayrılmış 32 onaltılık (hex) karakterden oluşan tanıdık biçime (ör. 550e8400-e29b-41d4-a716-446655440000) dönüştürülür.

UUID'ler en çok, farklı sunucularda veya çevrimdışı çalışan istemcilerde aynı anda kayıt oluşturulup daha sonra birleştirilmesi gereken dağıtık sistemlerde tercih edilir — çünkü otomatik artan (auto-increment) bir sayaçtan farklı olarak, iki farklı makine merkezi bir koordinasyona gerek duymadan aynı kimliği asla üretmez. Yaygın kullanım alanları: veritabanı birincil anahtarları (özellikle mikroservis mimarilerinde, farklı servislerin bağımsız kayıt oluşturduğu durumlarda), API isteklerini uçtan uca izlemek için "request ID"/"trace ID" değerleri, oturum ve token kimlikleri, ve dosya/nesne depolama sistemlerinde çakışmasız dosya adları.

Çakışma olasılığı pratikte göz ardı edilebilir düzeydedir: 122 bitlik rastgelelik 2¹²² gibi devasa bir olasılık uzayı sağlar — aynı anda milyarlarca UUID üretilse bile ikisinin çakışması matematiksel olarak neredeyse imkânsızdır (doğum günü paradoksu hesabına göre, anlamlı bir çakışma riski oluşması için milyarlarca UUID üretilmesi gerekir). Bu yüzden UUID v4, ekstra bir eşsizlik kontrolü yapmaya gerek kalmadan güvenle kullanılabilir.

Bu araç, UUID'leri tarayıcının yerleşik Web Crypto API'siyle (crypto.randomUUID / crypto.getRandomValues, kriptografik olarak güvenli rastgelelik) üretir — hiçbir üretim sunucuya gönderilmez veya kaydedilmez. Tek seferde 1000'e kadar UUID'yi toplu üretip büyük/küçük harf ve tireli/tiresiz/süslü parantezli (Windows GUID biçimi) format seçenekleriyle dışa aktarabilir, sonucu tek tıkla panoya kopyalayabilir veya .txt dosyası olarak indirebilirsiniz.

Bunu da Dene

İşin bitti mi? Sırada bunlar olabilir.

Sık Sorulan Sorular

UUID v4, 122 bit rastgelelik içeren bir kimlik standardıdır. Olası kombinasyon sayısı o kadar büyüktür ki (2122) pratikte iki farklı üretimin aynı UUID'yi vermesi ihtimali göz ardı edilebilir düzeydedir — veritabanı birincil anahtarı, oturum kimliği, dosya adı gibi kullanımlar için güvenlidir.

Hayır, aynı standardın iki adıdır. Microsoft ekosisteminde "GUID" (Globally Unique Identifier), diğer platformlarda "UUID" (Universally Unique Identifier) denir; biçim ve üretim mantığı özdeştir.

Auto-increment sayılar tek bir veritabanı sunucusunda sıralı üretilir; birden fazla sunucu/mikroservis aynı anda bağımsız kayıt oluşturduğunda çakışma riski doğar. UUID herhangi bir merkezi koordinasyon olmadan her yerde üretilebildiği için dağıtık sistemlerde, çevrimdışı senkronizasyonda ve veri birleştirmede (merge) tercih edilir; ayrıca bir kaydın kimliğini dışarıya (URL, API) ifşa etmek, ardışık sayılarda olduğu gibi toplam kayıt sayısını veya sıradaki kimliği tahmin edilebilir kılmaz.

Evet — UUID'ler sıralı olmadığından bir veritabanı indeksine (B-tree) rastgele sırayla eklenir, bu da büyük tablolarda auto-increment'e göre biraz daha fazla disk parçalanmasına ve yazma performansı kaybına yol açabilir; ayrıca 36 karakterlik metin hâli, 4-8 baytlık bir tam sayıdan çok daha fazla depolama alanı kaplar. Bu yüzden bazı sistemler, sıralı olma avantajını korumak için UUID yerine ULID gibi zaman-sıralı alternatifler kullanır.

UUID v1 makinenin MAC adresini ve o anki zamanı kullanarak üretilir (gizlilik açısından sakıncalı olabilir, çünkü hangi cihazda ve ne zaman üretildiği çözülebilir); v3 ve v5 ise bir ad uzayı (namespace) ve bir metinden deterministik olarak (sırasıyla MD5 ve SHA-1 ile) üretilir — aynı girdi her zaman aynı UUID'yi verir. Bu araç en yaygın ve önerilen sürüm olan v4'ü üretir: tamamen rastgele, geri izlenemez ve deterministik olmayan.

Hayır. UUID v4 tamamen rastgele üretildiği için deterministik değildir — aynı ayarlarla (adet, format) tekrar Üret'e bassanız bile bambaşka kimlikler elde edersiniz. Belirli bir metinden her zaman aynı kimliği türetmek istiyorsanız (ör. bir dosya adından), rastgele v4 değil deterministik v5 UUID gerekir.

Son güncelleme: