UUID, tekilliği sağlamak için kullanılan kimlik numarasıdır.

Vanilla JavaScript UUID Oluşturmak
Resim 1. Vanilla JavaScript UUID Oluşturmak

UUID Veya GUID Nedir?

Universally Unique Identifier (UUID), bilgisayar sistemlerinde kullanılan tekil kimlik numarasıdır. Uzunluğu 32 haneden oluşan 128 bitlik rastgele bir metindir.

Örneğin;

Kod

b5ea4581-6304-4343-8ecc-498f6f56293a

 

UUID düzeni aşağıdaki gibidir;

Kod

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

  • x: onaltılık bir rakamı (0-9, A-F) temsil eder.
  • M: UUID sürümünü (1-5) temsil eder .
  • N: UUID değişkenini (8, 9, A veya B) temsil eder.
  • -: Kimlik genellikle aralarında 4 adet tire (toplam 36 hane) ile ayrılmıştır.

Globally Unique Identifier, (GUID) olarak da adlandırılırlar.

UUID Ne İçin Kullanılır?

UUID veya GUID, aslında rastgele harf ve rakamlardan oluşturulan seri numarasıdır. Karmaşıklığı ve çakışmayı önlemek ve tekilliği sağlamak için kullanılır.

  • Veritabanlarında tekil birincil anahtar,
  • Tekil dosya veya dizin ismi olarak,
  • Tekil kaynak ismi olarak,
  • Kullanıcı hesabı, doküman, yazılım, donanım, oturum kimliği vb.

alanlarda tekil isim olarak kullanılırlar.

UUID Oluşturmak

Çoğu yazılım dilleri varsayılan olarak UUID kimliği oluşturmayı destekler. Bunun için dil içinde hazır bulunan metotlar kullanılır. JavaScript için ise aşağıdaki yöntemler ile tekil UUID kimliği oluşturulabilir.

Math.random() İle UUID Oluşturmak

JavaScript Math.random() yöntemi ile UUID oluşturulabilir. Aynı anda birden fazla UUID oluşturmak için tavsiye edilmez. Math.random() yöntemi her çağırıldığında farklı değer dönemeyebilir. Bu nedenle her defasında gerçek tekillik sağlayamayabilir.

Kod

function uuidv4()
{
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c)
    {
        const r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}

const uuid = uuidv4();

console.log('uuid', uuid);

ES6 crypto.getRandomValues() İle UUID Oluşturmak

Math.random() yönteminin yukarıda açıklanan dezavantajı nedeniyle yerine ES6 Crypto API ile sağlanan crypto.getRandomValues() yöntemi ile UUID oluşturulabilir.

Kod

function uuidv4()
{
    return '10000000-1000-4000-8000-100000000000'.replace(/[018]/g, c =>
        (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)
    );
}

const uuid = uuidv4();

console.log('uuid', uuid);

ES6 Crypto API ile UUID Oluşturmak

ES6 Crypto API ile sağlanan crypto.randomUUID() yöntemi ile UUID oluşturulabilir.

Kod

const uuid = crypto.randomUUID();

console.log('uuid', uuid);

NPM ile UUID Oluşturmak

NPM ile sağlanan uuidjs paketi ile UUID oluşturulabilir.

Kod

const { v4: uuidv4 } = require('uuid');

const uuid = uuidv4();

console.log('uuid', uuid);

Kaynaklar

  1. Universally unique identifier , en.wikipedia.org, 02.02.2025 tarihinde alındı.
  2. What is a GUID? , www.webopedia.com, 02.02.2025 tarihinde alındı.
  3. GUID (global unique identifier) , techtarget.com, 02.02.2025 tarihinde alındı.
  4. How to create a GUID / UUID in JavaScript ? , geeksforgeeks.org, 02.02.2025 tarihinde alındı.
  5. How do I create a GUID / UUID? , stackoverflow.com, 02.02.2025 tarihinde alındı.
  6. Crypto: randomUUID() method , developer.mozilla.org, 02.02.2025 tarihinde alındı.
  7. How To Create UUID/GUID In JavaScript With Examples , arungudelli.com, 02.02.2025 tarihinde alındı.
  8. Online GUID / UUID Generator , en.wikipedia.org, 02.02.2025 tarihinde alındı.
  9. Advanced UUID Usage in JavaScript Applications , transcoding.org, 02.02.2025 tarihinde alındı.
  10. uuid - npm , npmjs.com, 02.02.2025 tarihinde alındı.


Beğen