Skip to content

UUID Üretici ve Çözücü — v1, v4, v5, v7 Toplu Mod

Ücretsiz UUID üretici — v1, v4, v5 ve v7 UUID'leri anında oluşturun. UUID'yi çözün ve doğrulayın. 50'ye kadar toplu üretim. Tamamen tarayıcıda.

Takip Yok Tarayıcıda Çalışır Ücretsiz
Tüm UUID'ler tarayıcınızda yerel olarak üretilir. Hiçbir şey iletilmez veya saklanmaz.
RFC 9562 uyumluluğu ve yapısal doğruluk için incelendi — Go Tools Mühendislik Ekibi · Mar 22, 2026

UUID Nedir?

UUID (Universally Unique Identifier), RFC 9562 (IETF, Mayıs 2024) ile standartlaştırılmış, merkezi koordinasyon olmadan dağıtık sistemler arasında çakışmasız kimlikler üretmek üzere tasarlanmış 128 bitlik küresel olarak benzersiz bir tanımlayıcıdır. UUID, modern yazılımda en yaygın kullanılan tanımlayıcı biçimidir — veritabanı birincil anahtarlarında, API istek izlemede, oturum yönetiminde ve mikroservis mimarilerinde kullanılır.

UUID'ler, kanonik 8-4-4-4-12 biçiminde 32 onaltılık basamak olarak yazılır; örneğin `550e8400-e29b-41d4-a716-446655440000`. Spesifikasyon IETF tarafından yürütülmektedir; RFC 9562, daha önceki RFC 4122'nin (2005) yerini alır ve UUID 6, 7 ve 8 sürümlerini resmi olarak tanıtır.

Yaygın olarak kullanılan beş UUID sürümü vardır. Sürüm 1 (v1), geçerli zaman damgasını ve üreten makinenin MAC adresini kodlar; böylece her UUID hem zamanda hem mekânda benzersizdir. Sürüm 3 (v3) ve sürüm 5 (v5) deterministiktir — bir ad alanı ve adı sırasıyla MD5 veya SHA-1 ile özetlerler ve aynı girdiler için her zaman aynı UUID'yi üretirler. Sürüm 4 (v4) en yaygın olanıdır: 122 biti kriptografik olarak güvenli rastgele verilerle doldurur ve 5,3 × 10³⁶'dan fazla olası değer sağlar (RFC 9562, Bölüm 5.4). Sürüm 7 (v7) en yeni standarttır: RFC 9562 Bölüm 5.7'de belirtildiği gibi, "UUID sürüm 7, yaygın şekilde uygulanan ve iyi bilinen Unix Epoch zaman damgası kaynağından türetilen zaman sıralı bir değer alanına sahiptir" — 48 bitlik milisaniye zaman damgasını rastgele verilerle birleştirerek hem benzersiz hem de oluşturulma zamanına göre doğal olarak sıralanabilen UUID'ler üretir.

UUID'ler, dağıtık sistemlerde, veritabanlarında, API'lerde ve merkezi koordinasyon olmadan benzersiz tanımlayıcılara ihtiyaç duyulan her yerde vazgeçilmezdir. Bağımsız sistemler arasında kimlik çakışması riskini ortadan kaldırırlar; bu da onları mikroservisler, event sourcing ve çok kiracılı mimariler için ideal kılar.

Bu araç, tüm UUID sürümlerini Web Crypto API kullanarak tamamen tarayıcınızda üretir — hiçbir UUID sunucuya iletilmez. Sunucu tabanlı üreticilerin aksine yükleme, log tutma veya veri saklama yoktur. Üretim veritabanı anahtarları, API tanımlayıcıları ve güvenlik açısından hassas uygulamalar için güvenle kullanılabilir. Mevcut UUID'lerin sürümünü, varyantını ve gömülü verisini incelemek için onları çözebilir ve doğrulayabilirsiniz.

UUID'ler, diğer geliştirici ilkelleriyle yakından bağlantılıdır. UUID v1 ve v7, doğrudan Unix zaman damgalarını gömer; UUID v3 ve v5, temel olarak MD5 ve SHA-1 özetlerini kullanır; UUID karakter dizileri ise sıklıkla bir JSON biçimlendirici ile incelenmesi en uygun olan JSON payload'larının içinde taşınır. UUID biçimi, sürümleri ve gerçek dünya kullanım senaryolarına kapsamlı bir giriş için eksiksiz UUID rehberimizi okuyun. Bir veritabanı birincil anahtarı için UUID v4, v7, ULID ve Snowflake kimlikleri arasında seçim yapıyorsanız kimlik seçim karşılaştırmamıza bakın.

// Generate a UUID v4 using the Web Crypto API
const uuid = crypto.randomUUID();
console.log(uuid);
// → '550e8400-e29b-41d4-a716-446655440000'

// Manual v4 generation with crypto.getRandomValues()
function generateUUIDv4() {
  const bytes = new Uint8Array(16);
  crypto.getRandomValues(bytes);
  bytes[6] = (bytes[6] & 0x0f) | 0x40; // version 4
  bytes[8] = (bytes[8] & 0x3f) | 0x80; // variant 10
  const hex = Array.from(bytes, b => b.toString(16).padStart(2, '0')).join('');
  return `${hex.slice(0,8)}-${hex.slice(8,12)}-${hex.slice(12,16)}-${hex.slice(16,20)}-${hex.slice(20)}`;
}

Temel Özellikler

UUID v7 Desteği (RFC 9562)

Zaman sıralı, veritabanı dostu tanımlayıcılar için gömülü Unix zaman damgaları içeren en yeni UUID v7 biçimini üretir. RFC 9562 standardını destekleyen az sayıdaki çevrimiçi araçtan biridir.

UUID Çözücü ve Doğrulayıcı

Herhangi bir UUID'yi ayrıştırarak sürümünü, varyantını, zaman damgasını (v1/v7), saat dizisini ve düğüm bilgisini ortaya çıkarır. Bir karakter dizisinin doğru biçimlendirilmiş bir UUID olup olmadığını anında doğrular.

Çoklu Sürüm Desteği

UUID'leri beş sürümde üretir — v1 (zaman tabanlı), v3 (MD5), v4 (rastgele), v5 (SHA-1) ve v7 (zaman sıralı rastgele) — tümü RFC 9562 ile uyumludur.

Toplu Üretim

Tek seferde 50'ye kadar benzersiz UUID üretir. Her UUID, tam kriptografik rastgelelik veya doğru sürüme özgü kodlama ile bağımsız olarak oluşturulur.

Çoklu Çıktı Biçimleri

UUID'leri standart küçük harf, BÜYÜK HARF, tiresiz veya küme parantezli {GUID} biçiminde üretir — sisteminizin veya framework'ünüzün gerektirdiği biçimle birebir eşleşir.

Kriptografik Güvenlik

Gerçek rastgele sayı üretimi için Web Crypto API'yi (crypto.getRandomValues()) kullanır — modern tarayıcıların ve güvenlik araçlarının kullandığı standardın aynısıdır.

%100 Tarayıcı Tabanlı

Tüm UUID'ler tarayıcınızda yerel olarak üretilir. Hiçbir şey sunucuya gönderilmez — ürettiğiniz tanımlayıcılar tamamen gizli kalır.

UUID Sürüm Karşılaştırması

Kullanım durumunuz için doğru UUID sürümünü seçin.

Sürüm Temel Sıralanabilir Gizlilik En İyi Kullanım
v1 Zaman damgası + MAC adresi Oluşturulma zamanına göre MAC ve zamanı açığa çıkarır Zaman tabanlı sıralama gerektiren eski sistemler
v4 122 bit kriptografik rastgele Hayır Tamamen anonim Genel amaçlı — en yaygın kullanılan sürüm
v5 Ad alanı + adın SHA-1 özeti Hayır Deterministik, tekrarlanabilir Bilinen girdilerden tutarlı kimlikler (URL'ler, DNS)
v7 Unix zaman damgası (ms) + rastgele Oluşturulma zamanına göre Yalnızca oluşturulma zamanını açığa çıkarır Modern veritabanları — sıralanabilir, indeks dostu (RFC 9562)

UUID ve Diğer Kimlik Biçimleri

ULID

26 karakter, Crockford Base32

UUID v7 gibi sözlüksel olarak sıralanabilir ancak Crockford Base32 kodlaması kullanır (36'ya karşı 26 karakter). UUID v7, artık daha geniş araç desteğine sahip IETF tarafından standartlaştırılmış alternatiftir.

nanoid

21 karakter, URL güvenli alfabe

Daha kısa ve URL güvenlidir; kompaktlık önemli olduğunda idealdir. Resmi bir standart değildir — UUID'nin sahip olduğu yerel veritabanı türleri ve platformlar arası kütüphanelerden yoksundur.

CUID2

Değişken uzunluk, alfanümerik

Çakışma direnciyle yatay ölçeklendirme için tasarlanmıştır. UUID kadar yaygın benimsenmemiştir; yerel veritabanı desteği yoktur. Standartlaştırılmış zaman sıralı kimlikler için UUID v7'yi değerlendirin.

UUID Sürüm Örnekleri

UUID v4 (Rastgele)

550e8400-e29b-41d4-a716-446655440000

En yaygın kullanılan sürümdür. 122 bit kriptografik rastgelelik, 5,3 x 10^36'dan fazla olası değer sağlar — koordinasyon olmadan benzersizliğin gerektiği hemen hemen her kullanım durumu için uygundur.

UUID v7 (Zaman sıralı)

01906b5e-4a3e-7234-8f56-b8c12d4e5678

48 bitlik milisaniye Unix zaman damgasını rastgele verilerle birleştirir. UUID'ler kronolojik olarak sıralanır; bu da indeks yerelliğinin önemli olduğu veritabanı birincil anahtarları için onları ideal kılar. Yeni projelerde v1 ve v4 yerine önerilir.

UUID v1 (Zaman tabanlı)

6ba7b810-9dad-11d1-80b4-00c04fd430c8

60 bitlik bir zaman damgasını ve üreten makinenin 48 bitlik MAC adresini kodlar. Zamanda ve mekânda benzersizliği garanti eder ancak donanım kimlik bilgisini sızdırabilir. RFC 9562'de v6/v7 tarafından geride bırakılmıştır.

UUID v5 (SHA-1 Ad tabanlı)

886313e1-3b8a-5372-9b90-0c9aee199e5d

DNS ad alanının 'python.org' adıyla SHA-1 kullanılarak özetlenmesiyle üretilen deterministik UUID'dir. Aynı ad alanı ve ad her zaman aynı UUID'yi üretir; bu da v5'i tekrarlanabilir tanımlayıcılar için ideal kılar.

Nasıl Kullanılır

  1. 1

    UUID Sürümünü Seçin

    v1 (zaman tabanlı), v3 (MD5 ad tabanlı), v4 (rastgele), v5 (SHA-1 ad tabanlı) veya v7 (zaman sıralı rastgele) arasından seçim yapın. Her sürümün farklı bir amacı vardır — v4, genel kullanım için en yaygın olanıdır.

  2. 2

    Seçenekleri Yapılandırın

    v3 ve v5 için bir ad alanı (DNS, URL, OID, X.500 veya özel) seçin ve özetlenecek bir ad girin. Miktarı 1 ile 50 arasında ayarlayın ve bir çıktı biçimi seçin: standart küçük harf, BÜYÜK HARF, tiresiz veya küme parantezli {GUID}.

  3. 3

    UUID'leri Üretin

    Üret düğmesine tıklayın. Her UUID, kriptografik güvenlik için Web Crypto API (crypto.getRandomValues()) kullanılarak oluşturulur. Zaman damgaları (v1/v7) ve özetler (v3/v5) gibi sürüme özgü alanlar doğru şekilde kodlanır.

  4. 4

    Kopyalayın ve Kullanın

    Herhangi bir UUID'nin yanındaki Kopyala düğmesine tıklayarak panonuza kopyalayın veya tüm üretilen UUID'leri tek seferde almak için Tümünü Kopyala'yı kullanın. Mevcut bir UUID'nin sürümünü, varyantını, zaman damgasını ve gömülü diğer bilgilerini analiz etmek için Çöz sekmesine geçin.

Yaygın Kullanım Durumları

Veritabanı Birincil Anahtarları
Veritabanı düğümleri arasında koordinasyon olmadan benzersiz birincil anahtar olarak UUID v4 veya v7 kullanın. UUID v7, zaman sıralı yapısı B-tree indeks performansını iyileştirdiği için özellikle uygundur.
Dağıtık Sistemler
Mikroservisler, mesaj kuyrukları ve event sourcing sistemleri arasında bağımsız olarak benzersiz tanımlayıcılar üretin. UUID'ler merkezi bir kimlik üretim hizmetine olan ihtiyacı ortadan kaldırır.
API Geliştirme
RESTful ve GraphQL API'leri için benzersiz istek kimlikleri, korelasyon kimlikleri ve idempotency anahtarları oluşturun. UUID'ler, dağıtık servis sınırları arasında istekleri izlemeyi kolaylaştırır.
Oturum ve Token Yönetimi
Kimlik doğrulama akışları için benzersiz oturum tanımlayıcıları ve geçici tokenler üretin. UUID'ler, geniş kullanıcı tabanlarında oturum çakışmalarını önlemek için yeterli benzersizliği sağlar.
Test ve Geliştirme
Otomatik testler için test verileri, sahte tanımlayıcılar ve benzersiz fixture kimlikleri hızla üretin. Toplu üretim, geliştirme veritabanlarını ve test paketlerini doldurmayı kolaylaştırır.

Teknik Ayrıntılar

UUID Yapısı
UUID, 8-4-4-4-12 biçiminde 32 onaltılık karakter olarak temsil edilen 128 bittir (16 bayt). 48-51. bitler (13. onaltılık basamak) sürüm numarasını kodlar. 64-65. bitler, UUID düzenini tanımlayan varyant alanını kodlar. Kalan bitler sürüme özgü payload'ı taşır: zaman damgası, rastgele veri veya özet çıktısı.
Sürüm Bitleri
48-51. bitler (7. baytın yüksek nibble'ı) UUID sürümünü kodlar: 0001 = v1 (zaman tabanlı), 0011 = v3 (MD5 ad tabanlı), 0100 = v4 (rastgele), 0101 = v5 (SHA-1 ad tabanlı), 0110 = v6 (yeniden sıralanmış zaman), 0111 = v7 (Unix epoch zamanı). Bu dört bit üretim sırasında her zaman açıkça ayarlanır.
Varyant Alanı
64-65. bitler (9. baytın en anlamlı iki biti) varyantı tanımlar. 10x deseni RFC 4122/9562 UUID'lerini gösterir (büyük çoğunluk). 110 deseni karışık endian bayt sıralı Microsoft GUID'lerini gösterir. 0xx deseni NCS geriye dönük uyumlu UUID'leri gösterir (eski). 111 deseni gelecekteki kullanım için ayrılmıştır.
RFC 9562 Standardı
Mayıs 2024'te yayımlanan RFC 9562, kesin UUID spesifikasyonu olarak RFC 4122'nin yerini alır. UUID 6, 7 ve 8 sürümlerini resmi olarak tanıtır. Sürüm 6, sıralanabilirlik için v1 alanlarını yeniden düzenler. Sürüm 7, 48 bitlik milisaniye Unix zaman damgasını rastgele verilerle birlikte kullanır ve yeni zaman tabanlı UUID'ler için önerilen sürümdür. Sürüm 8, özel, uygulamaya özgü UUID'ler için bir biçim sağlar. RFC 9562 ayrıca v1'i v6/v7 lehine resmi olarak kullanımdan kaldırır.

En İyi Uygulamalar

Doğru Sürümü Seçin
Sıralama veya determinizmin gerekmediği genel amaçlı benzersiz tanımlayıcılar için v4 kullanın. Veritabanı birincil anahtarları için v7 kullanın — zaman sıralı yapısı önemli ölçüde daha iyi indeks performansı sağlar. Adlardan türetilen deterministik kimliklere ihtiyacınız olduğunda v5 kullanın (daha güçlü özetleme için v3 yerine v5'i tercih edin).
Veritabanı Birincil Anahtarları için UUID v7 Kullanın
UUID v7'nin zaman sıralı yapısı B-tree eklemelerini ardışık tutar; rastgele v4 UUID'lere kıyasla indeks parçalanmasını yaklaşık %90 azaltır. Bu, daha hızlı yazmalar, daha küçük indeksler ve daha iyi önbellek kullanımı anlamına gelir. Çoğu modern veritabanı (PostgreSQL 17+, MySQL 8.0+) bu desen için optimize edilmiş yerel UUID desteğine sahiptir.
UUID'leri Asla Güvenlik Tokenı Olarak Kullanmayın
UUID'ler benzersizlik için tasarlanmıştır, gizlilik için değil. UUID v1, üretim zaman damgasını ve MAC adresini sızdırır. UUID v4, öngörülebilir bir yapıya sahip yalnızca 122 bit entropiye sahiptir. Güvenlik tokenleri, API anahtarları veya oturum gizli anahtarları için UUID yapı yükü olmadan 128 veya 256 bit saf rastgele veri üretmek üzere özel bir CSPRNG kullanın.
Ayrıştırmadan Önce Doğrulayın
UUID biçimini ayrıştırmadan veya saklamadan önce her zaman düzenli ifadeyle doğrulayın. Sistem sınırlarında — API uç noktalarında, form gönderimlerinde ve veritabanı girdilerinde — hatalı biçimlendirilmiş girdileri reddedin. Bu, geçersiz tanımlayıcıların sisteminizde yayılmasından kaynaklanan enjeksiyon saldırılarını, veri bozulmasını ve hata ayıklaması zor hataları önler.

Sıkça Sorulan Sorular

UUID nedir?
UUID (Universally Unique Identifier), RFC 9562 ile standartlaştırılmış 128 bitlik bir tanımlayıcıdır. 8-4-4-4-12 biçiminde tirelerle ayrılmış beş gruptan oluşan 32 onaltılık basamak olarak yazılır — örneğin 550e8400-e29b-41d4-a716-446655440000. UUID'ler, merkezi bir kayıt otoritesine ihtiyaç duymadan küresel olarak benzersiz olacak şekilde tasarlanmıştır. GUID (Globally Unique Identifier) terimi, Microsoft'un aynı kavrama verdiği isimdir ve aynı biçimi kullanır. UUID'ler; veritabanlarında, dağıtık sistemlerde, API'lerde ve benzersiz tanımlayıcıların gerektiği yazılım geliştirme alanlarında yaygın olarak kullanılır. 5,3 x 10^36'dan fazla olası v4 UUID ile bir kopya üretme olasılığı astronomik derecede küçüktür; bu da onları koordine olmamış sistemler arasında bağımsız üretim için güvenli kılar.
UUID sürümleri arasındaki farklar nelerdir?
UUID v1, 60 bitlik bir zaman damgasını ve makinenin 48 bitlik MAC adresini kodlar; zamanda ve mekânda benzersizliği garanti eder ancak donanım kimliğini sızdırabilir. UUID v3, bir ad alanı ve adı MD5 ile özetleyerek deterministik bir UUID üretir — aynı girdiler her zaman aynı çıktıyı verir. UUID v4, 128 bitin 122'sini kriptografik olarak güvenli rastgele verilerle doldurur ve genel amaçlı benzersiz tanımlayıcılar için en yaygın kullanılan sürümdür. UUID v5, v3 ile aynıdır ancak MD5 yerine SHA-1 kullanır ve daha güçlü özet çakışma direnci sunar. RFC 9562 (Mayıs 2024) ile tanıtılan UUID v7, 48 bitlik milisaniye Unix zaman damgasını ardından gelen rastgele bitlerle birlikte gömer; hem benzersiz hem de oluşturulma zamanına göre doğal olarak sıralanabilen UUID'ler üretir. Sürüm seçimi gereksinimlerinize bağlıdır: basitlik için v4, determinizm için v5 ve zamana göre sıralanabilir veritabanı anahtarları için v7.
UUID v4'ü mü v7'yi mi kullanmalıyım?
UUID v4 en popüler sürümdür ve mükemmel bir varsayılan seçimdir. 122 bit saf rastgelelik üretir, yapılandırma gerektirmez ve her yerde çalışır. Yalnızca benzersiz bir tanımlayıcıya ihtiyacınız olduğunda ve sıralamayı önemsemediğinizde v4'ü kullanın. UUID v7, UUID'lerin veritabanı birincil anahtarı olarak kullanılacağı veya oluşturulma zamanına göre sıralanması gerektiği durumlarda daha iyi seçimdir. v7, milisaniye hassasiyetli zaman damgasını en anlamlı bitlere gömdüğü için v7 UUID'ler doğal olarak kronolojik düzende sıralanır. Bu özellik, B-tree indeks performansını dramatik biçimde iyileştirir — eklemeler her zaman rastgele konumlar yerine indeksin sonuna gider, sayfa bölünmelerini ve parçalanmayı %90'a kadar azaltır. 2026'daki yeni projeler için genel öneri, veritabanı anahtarları için v7'yi ve diğer her şey için v4'ü kullanmaktır. Her iki sürüm de rastgele kısımlarında eşit derecede benzersiz ve kriptografik olarak rastgeledir.
UUID çakışma olasılığı nedir?
UUID v4'ün 122 rastgele biti vardır ve 2^122 (yaklaşık 5,3 x 10^36) olası değer sağlar. En az bir çakışmanın %50 olasılığa ulaşması için yaklaşık 2,71 x 10^18 UUID üretmeniz gerekir — yani 2,71 kentilyon. Bunu somutlaştırmak için, saniyede bir milyar UUID üretseydiniz %50 çakışma olasılığına ulaşmak yaklaşık 86 yıl alırdı. Daha gerçekçi üretim hızlarında olasılık yok denecek kadar küçüktür. Örneğin, 10 milyon UUID üretmek kabaca 10^22'de 1 çakışma olasılığı verir. Pratikte donanım arızaları, yazılım hataları ve insan hataları, UUID v4 çakışmalarına göre milyarlarca kat daha fazla olasılıkla yinelenen kimliklere yol açar. Matematik, doğum günü problemi formülüne dayanır: p(n) yaklaşık olarak n^2 / (2 * 2^122).
UUID ile GUID arasındaki fark nedir?
UUID (Universally Unique Identifier) ve GUID (Globally Unique Identifier) esasen aynı şeydir. GUID, Microsoft tarafından türetilen ve ağırlıklı olarak Windows, .NET, COM ve SQL Server ortamlarında kullanılan terimdir. UUID, RFC 9562 (ve öncülü RFC 4122) tarafından tanımlanan standart terimdir ve Linux, Java, Python, PostgreSQL ve web geliştirme dahil çoğu diğer bağlamda kullanılır. Her ikisi de 8-4-4-4-12 deseninde 32 onaltılık basamak olarak görüntülenen aynı 128 bitlik biçimi kullanır. Tek küçük fark, Microsoft araçlarının GUID'leri bazen büyük harflerle ve kıvrık parantezlerle göstermesidir, örneğin {550E8400-E29B-41D4-A716-446655440000}; UUID'ler ise geleneksel olarak küçük harfle ve parantezsiz gösterilir. Bu araç, çıktı biçimi seçici aracılığıyla her iki biçimi de destekler — Microsoft tarzı çıktı için Küme Parantezli {GUID} biçimini seçin.
UUID v4 kriptografik olarak güvenli mi?
crypto.getRandomValues() veya eşdeğer bir CSPRNG (Kriptografik Olarak Güvenli Yalancı Rastgele Sayı Üreteci) kullanılarak üretildiğinde UUID v4, 122 bit kriptografik olarak güvenli rastgele veri içerir. Bu araç, işletim sisteminin güvenli rastgele kaynağından entropi alan Web Crypto API'yi kullanır. Ancak UUID'ler güvenlik tokenleri, parolalar veya şifreleme anahtarları olarak kullanılmamalıdır. 122 bit rastgelelik tahmin edilemezliği sağlasa da UUID'lerin öngörülebilir bir yapısı vardır — sürüm nibble'ı (4) ve varyant bitleri sabittir ve herkesçe bilinir. Güvenlik tokenleri için 128 veya 256 bit tam entropi içeren crypto.getRandomValues() gibi amaca yönelik API'leri kullanın veya JWT gibi yerleşik token biçimlerini tercih edin. UUID'leri tanımlama için kullanın, güvenlik için değil.
Bir UUID biçimi nasıl doğrulanır?
Geçerli bir UUID şu düzenli ifade desenini sağlar: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ (büyük/küçük harfe duyarsız). Bu desen 8-4-4-4-12 onaltılık biçimini zorunlu kılar, sürüm basamağının (15. konum) 1 ile 7 arasında olduğunu denetler ve varyant nibble'ının (20. konum) 8, 9, a veya b ile başladığını doğrular (RFC 4122/9562 varyantını gösterir). JavaScript'te şu şekilde doğrulayabilirsiniz: /^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(uuid). Çoğu programlama dilinin yerleşik UUID ayrıştırması da vardır — örneğin Python'un uuid.UUID() yapıcısı, Java'nın UUID.fromString()'i ve Go'nun uuid.Parse()'ı. Enjeksiyon saldırılarını ve veri bozulmasını önlemek için UUID'leri saklamadan veya işlemeden önce her zaman sistem sınırlarında doğrulayın.
UUID'ler iyi veritabanı birincil anahtarları mı? (Performans, güvenlik ve en iyi sürüm)
Evet, UUID'ler güvenli ve giderek daha yaygın olarak veritabanı birincil anahtarı olarak tercih edilmektedir; UUID v7 ise önerilen sürümdür. Temel avantajlar: (1) UUID'ler, veritabanına gidiş-dönüş gerektirmeden istemcilerde, sunucularda veya edge fonksiyonlarında üretilebilir; bu da çevrimdışı öncelikli ve dağıtık mimarileri olanaklı kılar. (2) UUID'ler ardışık tam sayılar olmadığı için sayım saldırılarını engeller. (3) UUID'ler, kimlikler asla çakışmadığı için sistemler arası veri birleştirmeyi basitleştirir. UUID v7, zaman sıralı yapısı B-tree indekslerini ardışık tuttuğu için birincil anahtarlar için en iyi sürümdür; rastgele v4 UUID'lere kıyasla sayfa bölünmelerini, yazma yükünü ve indeks parçalanmasını %90'a kadar azaltır. Ödünleşimler: UUID'ler tam sayılar için 4-8 bayt yerine 16 bayt kullanır ve indeksler için depolama ve bellek tüketimini artırır. Birincil anahtarın kümelenmiş indeks olduğu MySQL/InnoDB'de rastgele v4 UUID'ler önemli performans düşüşüne neden olabilir — v7, eklemelerin her zaman indeksin sonuna eklenmesini sağlayarak otomatik artan tam sayılarla karşılaştırılabilir performans elde eder. PostgreSQL, UUID'leri uuid türüyle yerel olarak 16 baytta saklar. Çoğu modern uygulama için küresel olarak benzersiz, koordinasyon gerektirmeyen kimlik üretiminin avantajları, ek depolama maliyetinden çok daha ağır basar.
Ad alanı UUID'si (v3/v5) nedir?
Ad alanı UUID'si, deterministik v3 ve v5 UUID'leri üretmek için kapsam sağlayan önceden tanımlanmış veya özel bir UUID'dir. RFC 4122, dört standart ad alanı UUID'si tanımlar: DNS (6ba7b810-9dad-11d1-80b4-00c04fd430c8), URL (6ba7b811-9dad-11d1-80b4-00c04fd430c8), OID (6ba7b812-9dad-11d1-80b4-00c04fd430c8) ve X.500 DN (6ba7b814-9dad-11d1-80b4-00c04fd430c8). Bir ad alanı UUID'sini bir ad karakter dizisiyle birleştirdiğinizde v3 veya v5 algoritması bunları birlikte özetleyerek deterministik bir UUID üretir — aynı ad alanı artı ad her zaman aynı UUID'yi üretir. Bu, anlamlı adlardan türetilen tekrarlanabilir tanımlayıcılara ihtiyacınız olduğunda kullanışlıdır. Örneğin, DNS ad alanını 'example.com' ile özetlemek her zaman aynı v5 UUID'yi verir. Ayrıca uygulamanızın kendi deterministik kimlik şeması için herhangi bir geçerli UUID'yi özel ad alanı olarak kullanabilirsiniz.
UUID nil değeri nedir?
Nil UUID (sıfır UUID olarak da adlandırılır) 00000000-0000-0000-0000-000000000000'dır — 128 bitin tamamı sıfıra ayarlanmıştır. RFC 9562 Bölüm 5.9'da, programlama dillerindeki null veya None gibi bir değerin yokluğunu temsil edebilen özel bir UUID olarak tanımlanır. Nil UUID, sentinel değer olarak, yapılandırma sistemlerinde varsayılan olarak veya UUID alanının boş olamayacağı ancak henüz gerçek bir değerin var olmadığı veritabanı kayıtlarında yer tutucu olarak kullanışlıdır. RFC 9562 ayrıca maksimum UUID'yi de tanımlar: ffffffff-ffff-ffff-ffff-ffffffffffff (tüm bitler bire ayarlı), bir sınır işaretçisi olarak hizmet edebilir. Önemli uyarılar: nil UUID'yi asla gerçek bir tanımlayıcı olarak kullanmayın — benzersiz değildir. Bazı UUID kütüphaneleri ve veritabanları nil UUID'leri reddedebilir veya özel olarak işleyebilir; bu nedenle sisteminizin onları tutarlı şekilde ele aldığından emin olun. API sözleşmelerinizde ve veritabanı şemalarınızda nil UUID'lerin kabul edilip edilmediğini her zaman belgeleyin.
UUID v7 nedir ve neden kullanmalıyım?
UUID v7, RFC 9562'de (Mayıs 2024) tanımlanan en yeni UUID sürümüdür. En anlamlı bitlere 48 bitlik milisaniye Unix zaman damgası gömer ve ardından kriptografik olarak rastgele veriler gelir. Bu tasarım, küresel olarak benzersiz, kronolojik olarak sıralanabilir ve veritabanı birincil anahtarı olarak son derece verimli UUID'ler üretir. Aynı zamanda zaman damgası içeren UUID v1'in aksine v7, daha basit bir Unix epoch biçimi kullanır ve MAC adresinizi açığa çıkarmaz. Zaman sıralı yapısı, rastgele UUID v4'e kıyasla B-tree indeks parçalanmasını %90'a kadar azaltır; bu da daha hızlı eklemeler, daha küçük indeksler ve daha iyi önbellek isabet oranlarıyla sonuçlanır. 2026'da başlayan yeni projeler için zaman tabanlı sıralama gerektiren her senaryoda UUID v7 önerilen seçimdir — özellikle veritabanı birincil anahtarları, olay logları ve dağıtık mesaj kuyrukları için.
Bir UUID nasıl çözülür?
Bir UUID'yi çözmek, 128 biti içinde kodlanmış yapısal bilgileri çıkarmak demektir. Her UUID, nasıl üretildiğini tanımlayan bir sürüm alanı (48-51. bitler) ve uyduğu UUID standardını tanımlayan bir varyant alanı (64-65. bitler) içerir. Bu ortak alanların ötesinde farklı sürümler farklı veriler gömer: UUID v1 ve v6, 60 bitlik zaman damgası ve 48 bitlik düğüm (MAC adresi) içerir; UUID v7, 48 bitlik milisaniye Unix zaman damgası içerir; UUID v3 ve v5, ad alanı ve adın kesilmiş bir özetini içerir. Bir UUID'yi çözmek için onu bu aracın Çöz sekmesine yapıştırın. Sürüm, varyant, zaman damgası (zaman tabanlı sürümler için) ve geçerlilik durumu anında görüntülenir. Programatik olarak, onaltılık basamakları ayrıştırarak ve RFC 9562 spesifikasyonuna göre her alanı çıkarmak için bit düzeyinde işlemler uygulayarak çözebilirsiniz.
UUID, ULID ve nanoid — hangisini kullanmalıyım?
UUID, ULID ve nanoid aynı temel amaca hizmet eder — benzersiz tanımlayıcılar üretmek — ancak biçim, sıralanabilirlik ve standartlaşma açısından farklılık gösterir. UUID, fiilen tüm veritabanları, diller ve framework'ler tarafından yerel olarak desteklenen en yaygın benimsenmiş standarttır (RFC 9562). UUID v7, standart 128 bit, 36 karakterlik biçimde zaman tabanlı sıralama sağlar. ULID (Universally Unique Lexicographically Sortable Identifier), UUID v7'den önce vardır ve 26 karakterlik sıralanabilir bir karakter dizisi üretmek için Crockford Base32 kodlamasını kullanır. UUID v7 artık bir IETF standardı olarak var olduğuna göre, ULID'in temel avantajı — sıralanabilirlik — evrensel UUID biçiminde de mevcuttur. nanoid, URL güvenli bir alfabe kullanarak daha kısa tanımlayıcılar üretir (varsayılan 21 karakter); karakter dizisi uzunluğu önemli olduğunda ve sistemler arası birlikte çalışabilirlik gerekmediğinde idealdir. Çoğu uygulama için evrensel araç desteği, yerel veritabanı türleri ve resmi standartlaşma nedeniyle UUID v4 (genel amaçlı) veya UUID v7 (veritabanı anahtarları) önerilen seçimdir.
Bir mikroservis geliştiriyorum ve PostgreSQL birincil anahtarlarım için UUID v4 ile v7 arasında karar vermem gerekiyor — hangisini seçmeliyim ve neden?
PostgreSQL birincil anahtarları için UUID v7 kullanın. UUID v7, en anlamlı bitlere milisaniye hassasiyetli Unix zaman damgası gömer; bu nedenle üretilen kimlikler doğal olarak kronolojik sıradadır. Bu, B-tree indekslerinizi ardışık tutar — eklemeler rastgele konumlar yerine her zaman sona eklenir, rastgele UUID v4'e kıyasla sayfa bölünmelerini ve indeks parçalanmasını %90'a kadar azaltır. PostgreSQL 17+ bu desen için optimize edilmiş yerel uuid türü desteğine sahiptir. UUID v4, sıralama düzeninin önemli olmadığı korelasyon kimlikleri veya oturum tokenleri gibi indekslenmemiş tanımlayıcılar için hâlâ uygundur.
Ekibim, veritabanı kimlikleri olarak UUID'leri mi yoksa otomatik artan tam sayıları mı kullanacağı konusunda tartışıyor — gerçek dünya ödünleşimleri nelerdir?
Otomatik artan tam sayılar daha küçüktür (16 bayta karşı 4-8 bayt), karşılaştırması daha hızlıdır ve doğal olarak ardışık indeksler üretir. Ancak merkezi bir dizi (veritabanı) gerektirirler; bu da onları dağıtık sistemlerde, çevrimdışı öncelikli uygulamalarda ve veri taşımalarında sorunlu kılar. UUID'ler ise istemcilerde, edge fonksiyonlarında, birden fazla veritabanında — koordinasyon olmadan — her yerde üretilebilir. Ayrıca sayım saldırılarını da önlerler (kullanıcılar diğer kayıtları bulmak için /users/124'ü tahmin edemez). Depolama ek yükü gerçektir ancak genellikle kabul edilebilirdir: bir UUID indeksi kabaca tam sayı indeksinin 2 katı boyutundadır. Çoğu modern uygulama için UUID v7, her iki dünyanın da en iyisini sunar — küresel olarak benzersiz, koordinasyon gerektirmeyen ve otomatik artanlar gibi ardışık olarak sıralanabilir.

JWT Çözücü

Güvenlik Araçları

Ücretsiz JWT çözücümüzle JWT token'larını online çözün. header, payload, signature, son kullanma, algoritma ve claim'leri anında inceleyin. %100 tarayıcıda çalışır — token'ınız cihazınızdan ayrılmaz. Kayıt yok, izleme yok.

MD5 Özet Üretici ve Dosya Sağlama Aracı

Güvenlik Araçları

MD5, SHA-256, SHA-1 ve SHA-512 özetlerini online ücretsiz üretin. Tarayıcınızda metin veya dosya özeti alın, sağlama değerlerini doğrulayın ve sonuçları kopyalayın. Kayıt gerekmez.

Rastgele Şifre Üretici — Özelleştirilebilir ve Güvenli

Güvenlik Araçları

Anında güçlü rastgele şifreler üretin — ücretsiz, %100 tarayıcınızda. Uzunluk ve karakterleri özelleştirin, entropi analiziyle 50'ye kadar toplu üretim.

Sayı Tabanı Dönüştürücü — Binary, Hex, Decimal ve Octal

Dönüştürme Araçları

Binary, hex, decimal, octal ve herhangi bir taban (2-36) arasında anında dönüştürün. Ücretsiz ve gizli — tüm işlem tarayıcınızda yapılır.

Base64 Çözücü ve Kodlayıcı

Kodlama ve Biçimlendirme

Base64'ü ücretsiz çevrimiçi kodlayın ve çözün. Tam UTF-8 ve emoji desteğiyle gerçek zamanlı dönüştürme. %100 tarayıcıda — kayıt gerekmez.

Resimleri Çevrimiçi Sıkıştırın — JPEG, PNG ve WebP

Dönüştürme Araçları

JPEG, PNG ve WebP'yi %80'e kadar küçültün — tarayıcınızda, yükleme yok. 20 resim toplu, kalite ayarı, öncesi/sonrası karşılaştırma. Ücretsiz ve gizli.