UUID nedir?
UUID (Evrensel Benzersiz Tanımlayıcı / Universally Unique Identifier), bilinen diğer adıyla GUID, bilgisayar sistemlerinde bilgileri merkezi bir otoriteye ihtiyaç duymadan benzersiz biçimde etiketlemek için kullanılan 128 bitlik bir değerdir. Bu araç, neredeyse tamamen rastgele sayılardan üretilen sürüm 4 UUID'ler oluşturur. 122 rastgele bit sayesinde, üretilen iki UUID'nin çakışma olasılığı o kadar küçüktür ki bu değerler küresel ölçekte benzersiz kabul edilir. Bu, dilden bağımsız evrensel bir standarttır (RFC 4122).
Bu araç nasıl kullanılır?
Kaç adet UUID'ye ihtiyacınız olduğunu (1 ile 50 arası) seçin, çıktının küçük harfli mi büyük harfli mi olacağını belirleyin ve standart tirelerin ekleneceğine karar verin. Hesapla düğmesine tıklayıp sonuçları kopyalayın. UUID'ler; veritabanı birincil anahtarları, API istek kimlikleri, dosya adları, oturum belirteçleri ve otomatik artan bir sayaca güvenemediğiniz dağıtık sistem tanımlayıcıları için oldukça kullanışlıdır.
Biçim açıklaması
Sürüm 4 bir UUID, tirelerle ayrılmış beş grup hâlinde 32 onaltılık (hexadecimal) basamak olarak yazılır: 8-4-4-4-12, örneğin xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx. 4 olarak gösterilen basamak sürümü belirtir. y olarak gösterilen basamak ise varyantı kodlar ve mutlaka 8, 9, a ya da b değerlerinden biri olmalıdır. Diğer her x rastgele bir onaltılık basamaktır.
$$\text{UUID} = \underbrace{\texttt{xxxxxxxx}}_{8}\text{-}\underbrace{\texttt{xxxx}}_{4}\text{-}\underbrace{\texttt{4xxx}}_{4}\text{-}\underbrace{\texttt{Yxxx}}_{4}\text{-}\underbrace{\texttt{xxxxxxxxxxxx}}_{12}\quad\times\,\text{Count}$$
Adım adım örnek
Şöyle rastgele bir onaltılık dizi düşünelim: 3f9a7c1e b204 1d88 9c33 a7f019be24c1. Bunu geçerli bir v4 UUID hâline getirmek için 13. basamağı 4 yapar, 17. basamağı da bir varyant basamağına sabitleriz; bu da örneğin 3f9a7c1e-b204-4d88-9c33-a7f019be24c1 sonucunu verir. İkinci tireden sonraki 4 ile üçüncü tireden sonraki 9 (geçerli bir varyant değeri) basamaklarına dikkat edin.
Sıkça Sorulan Sorular
Bu UUID'ler kriptografik olarak güvenli mi? Platformun sözde rastgele (pseudo-random) kaynağıyla üretilirler ve tanımlayıcı olarak gayet uygundurlar; ancak yüksek güvenlik gerektiren sırlar için özel bir kriptografik rastgele üreteç tercih edin.
İki UUID hiç aynı olabilir mi? Teoride evet, ama olasılık ihmal edilebilecek kadar düşüktür — gerçekçi bir çakışma şansı için yıllarca, saniyede milyarlarca UUID üretmeniz gerekirdi.
Tireleri kaldırmak değeri değiştirir mi? Hayır. Tireler tamamen görseldir; altta yatan 128 bit aynı kalır.