128 bit tanımlayıcılar, RFC standartları, biçimler, veritabanı indeksleme ve istemci tarafı kriptografi hakkında kapsamlı teknik genel bakış.
UUID Nedir?
Evrensel Benzersiz Tanımlayıcı (UUID), Open Software Foundation (OSF) tarafından standartlaştırılmış ve IETF RFC 4122 ile RFC 9562 standartları altında resmileştirilmiş 128 bitlik bir sayısal etikettir. 3,4 × 10³⁸ benzersiz kombinasyon ile dağıtık sistemler, mikro hizmetler ve mobil uygulamalar merkezi bir veritabanı olmadan kimlik üretebilir.
UUID Sürümleri ve Biçimlendirme Seçenekleri
Standart UUID’ler dört tire ile ayrılmış 32 onaltılık karakter olarak biçimlendirilir (8-4-4-4-12 deseni, toplam 36 karakter). UUID v4, 122 bitlik sözde rastgele entropi sağlar. UUID v7, kronolojik sıralama için 48 bitlik milisaniye Unix zaman damgası sunar. Aracımız ayrıca tiresiz (32 karakter hex), büyük harf, {GUID} ve JSON dizisi biçimlerini de destekler.
UUID ve GUID Karşılaştırması: Standartlar ve Birlikte Çalışabilirlik
Globally Unique Identifier (GUID), standart UUID’nin Microsoft tarafından uygulanan adıdır. Modern yazılım geliştirmede (.NET, C#, Python, Java, Go, Rust, PostgreSQL), GUID ve UUID aynı 128 bitlik ikili yapıyı ifade eder. Her ikisi de RFC 4122 / RFC 9562 standartlarına uygundur ve veri kaybı olmadan birbirine dönüştürülebilir.
Yazılım Mühendisliği ve Veritabanlarında Yaygın Kullanım Alanları
UUID’ler yazılım mimarisinde vazgeçilmezdir: veritabanı birincil anahtarları (PostgreSQL UUID, MySQL BINARY(16), SQLite), dağıtık olay akışları (Kafka, RabbitMQ), REST ve GraphQL API kaynak kimlikleri, ödeme ağ geçitleri için idempotens belirteçleri (Stripe) ve mobil çevrimdışı senkronizasyon.
Güvenli İstemci Tarafı Üretim ve Gizlilik
FastUUIDGenerator, tüm kimlikleri yerel Web Cryptography API (crypto.getRandomValues) kullanarak %100 tarayıcınızda oluşturur. İşletim sistemi entropi havuzları (/dev/urandom, BCryptGenRandom) gerçek kriptografik öngörülemezliği sağlar. Hiçbir kimlik ağ üzerinden gönderilmez.
Doğrulama, Çözümleme ve Toplu Üretim Araçları
Tekil üretimin ötesinde araç setimiz, RFC sözdizimini doğrulamak için bir UUID Doğrulayıcı, UTC zaman damgalarını çıkarmak için bir UUID v7/v1 Çözücü, Microsoft GUID oluşturucu ve CSV, JSON, TXT indirmeleriyle 10.000 adede kadar üretim sağlayan Toplu Oluşturucu içerir.
Sıkça Sorulan Sorular (SSS)
Clear, concise answers to the most common questions about UUID generation, formats, and standards.
Standart kanonik bir UUID (RFC 4122/9562), 8-4-4-4-12 düzeninde 4 tire ile ayrılmış 32 onaltılık basamaktan oluşur (örn. 550e8400-e29b-41d4-a716-446655440000) ve toplam 36 karakterdir. Ham ikili biçimde 16 bayt (128 bit) yer kaplar.
UUID oluşturucu, kriptografik olarak güvenli sözde rastgele sayı üreteçleri (CSPRNG, UUID v4 için) veya zaman damgalı diziler (UUID v7 için) kullanarak 128 bitlik Evrensel Benzersiz Tanımlayıcılar üreten bir yazılım aracı veya fonksiyonudur.
Windows’ta donanım UUID’nizi Komut İstemi’nde "wmic csproduct get uuid" veya PowerShell’de "Get-CimInstance Win32_ComputerSystemProduct" çalıştırarak bulabilirsiniz. Linux’ta "/sys/class/dmi/id/product_uuid" dosyasını kontrol edin. macOS’ta "system_profiler SPHardwareDataType" komutunu çalıştırın. Yazılımlarda UUID’ler veritabanı kayıtlarına ve API kaynaklarına atanır.
FastUUIDGenerator ile web üzerinden anında UUID oluşturabilir veya kod içinde üretebilirsiniz: JavaScript’te crypto.randomUUID(), Python’da uuid.uuid4(), Java’da UUID.randomUUID(), C#’ta Guid.NewGuid() veya PostgreSQL’de gen_random_uuid() kullanarak.
Standart bir UUID, xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx kalıbına uyan 32 onaltılık karakter (0-9, a-f) ve 4 tire içerir. 13. basamak (M) UUID sürümünü (örn. rastgele için 4, zaman sıralı için 7), 17. basamak (N) ise RFC varyantını (8, 9, a veya b) belirtir.
Pratikte hayır. 128 bitlik uzay 3,4 × 10³⁸ olası kombinasyon sunar; 73 yıl boyunca saniyede 1 milyar UUID v4 üretilse bile tek bir çakışma olasılığı yalnızca %50’dir. Dağıtık sistemlerde kazara çift oluşması neredeyse imkansızdır.
Geleneksel bir ID, genellikle tek bir merkezi veritabanı tarafından sırayla atanan artan bir tamsayıdır (1, 2, 3...). UUID ise merkezi koordinasyon veya çakışma riski olmadan dağıtık sunucularda ve çevrimdışı istemcilerde bağımsız olarak üretilebilen 128 bitlik evrensel benzersiz bir kimliktir.
UUID, Universally Unique Identifier (Evrensel Benzersiz Tanımlayıcı) anlamına gelir. Merkezi bir kayıt otoritesine ihtiyaç duymadan bağımsız bilgisayar sistemleri arasında benzersiz tanımlama sağlamak için IETF RFC 4122 ve RFC 9562 tarafından standartlaştırılmış 128 bitlik bir değerdir.
UUID’ler, birden fazla sunucunun veritabanına sormadan aynı anda kimlik üretmesi gereken dağıtık mimariler ve mikro servisler için gereklidir. Veritabanı birleştirmelerinde çakışmaları önler, sıralı tahmin saldırılarını engeller ve çevrimdışı veri üretimini destekler.
Evet. CSPRNG ile üretilen UUID v4 ve v7 kimlikleri çakışmaya ve tahmine karşı son derece güvenlidir. Eski UUID v1 ağ kartı MAC adresini kodladığından donanımı açığa çıkarabilir, bu nedenle modern sistemler v4 veya v7 kullanır. UUID’ler genel URL’lerde gizli kimlik doğrulama şifresi olarak kullanılmamalıdır.
UUID’leri veritabanlarında birincil anahtar (PostgreSQL UUID, MySQL BINARY(16)), REST/GraphQL API’lerinde kaynak tanıtıcısı (örn. /api/orders/550e8400-e29b-41d4-a716-446655440000), oturum belirteçleri ve Kafka gibi mesaj kuyruklarında olay izleme kimlikleri olarak kullanabilirsiniz.
Evet. Ücretsiz UUID Çözücü aracımıza herhangi bir UUID yapıştırarak sürümünü, RFC varyantını, ham ikili değerlerini ve tam oluşturulma zaman damgasını (zaman tabanlı v1, v6 veya v7 ise) anında görebilirsiniz.
Evet, FastUUIDGenerator’da %100 güvenlidir. Tüm UUID üretimi, tarayıcınızın yerel Web Cryptography API’si (crypto.getRandomValues) kullanılarak tamamen cihazınızda gerçekleşir. Hiçbir kimlik veya parametre ağ üzerinden iletilmez.
128 bitlik bir UUID, tire işaretleri kaldırılarak 32 karakterlik onaltılık dize 16 tabanında tamsayıya dönüştürülür. JavaScript’te: BigInt("0x" + uuid.replace(/-/g, "")). Python’da: int(uuid.UUID(str_uuid)). Sonuç 0 ile 2¹²⁸-1 (3,4 × 10³⁸’e kadar) arasında bir tamsayıdır.