01 Şubat • 10 dakikalık okuma
UUID, tekilliği sağlamak için kullanılan kimlik numarasıdır.
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;
b5ea4581-6304-4343-8ecc-498f6f56293a
UUID düzeni aşağıdaki gibidir;
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
Globally Unique Identifier, (GUID) olarak da adlandırılırlar.
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.
alanlarda tekil isim olarak kullanılırlar.
Ç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.
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.
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);
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.
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 sağlanan crypto.randomUUID() yöntemi ile UUID oluşturulabilir.
const uuid = crypto.randomUUID();
console.log('uuid', uuid);
NPM ile sağlanan uuidjs paketi ile UUID oluşturulabilir.
const { v4: uuidv4 } = require('uuid');
const uuid = uuidv4();
console.log('uuid', uuid);