Öncelikle UUID nasıl oluşturulur konusuna geçmeden kısaca UUID nedir ve neden kullanılır sorusuna bir cevap arayalım.
UUID Nedir?
UUID (universally unique identifier) 32 karakter boyutunda 16 bayt boyutunda benzersiz bir tanımlayıcıdır. Özellikle veri tabanları gibi uygulamalarda veri oluştururken benzersiz bir tanımlayıcı (ID) oluşturmak için kullanılır.
Çokca kullanılan tamsayı (int) tabanlı ID tanımlamaları yerine kullanılmaktadır.
Tamamen rastgele oluşturulur ve oluşturulurken CPU üzerinden üretilir. UUID oluşturmak için bir çok paket mevcuttur.
UUID Neden Kulanılır?
Daha önce dediğimiz gibi benzersiz bir ID kullanımı için gereklidir. Mesela basit int tabanlı bir ID kullandığımızda bu başkaları tarafından tahmin edilebilir ve zaman içerisinde bir güvenlik açığı doğurabilir.
UUID oluşturulurken benzersiz bir algoritma kullanılır. Bu çıktıların aynı olmamasını garanti eder. Fakat bu tamamen benzersiz çıktılar oluşacağını garanti etmez.
UUID ve GUID Arasındaki Fark Nedir?
GUID ile UUID aynı şeylerdir. Fakat GUID kullanımını Microsoft ağ uygulamaları geliştirirken tercih etmektedir.
UUID Nasıl Oluşturulur?
UUID oluşturmak için bir çok Javascript paketi mevcuttur. Bunlardan en çok kullanılanlardan bir tanesi uuid kütüphanesidir.
Bu kütüphaneyi kurmak için
npm install uuidkomutu yeterlidir. Npm üzerinden rahatlıkla kurulabilir.
Bir projeye eklemek için
// ES6 modül olarak
import { v4 as uuidv4 } from 'uuid';veya
// Genel Javascript kullanımı
const { v4: uuidv4 } = require('uuid');yöntemlerinen bir tanesi kullanılabilir. uuid uygulamaya eklendikten sonra
const ID = uuidv4();şeklinde kullanılabilir. Kullanımı oldukça basittir.
Yine nanoid çok kullanılan paketlerden bir tanesidir. ES6 modülü şeklinde yüklenerek kullanılabilir. Konu ile ilgili olrak Nanoid İle Güvenilir Benzersiz ID Oluşturma yazımıza bakabilirsiniz.
SONUÇ
UUID uygulama geliştirirken çokça ihtiyaç duyulan benzersiz anahtarlardır ve oluşturmak için çok sayıda farklı Javascript paketi bulunmaktadır.
Javascript ile ilgili sormak istediklerinizi yorumlardan bize iletebilirsiniz.
