Apa itu UUID v3?
Versi UUID 3 adalah pengenal 128-bit berbasis namespace (string 36-karakter) dari RFC 4122 yang menggunakan hashing MD5. Ini terdiri dari:
- Namespace UUID: Namespace UUID yang telah ditentukan atau kustom
- Name: String yang diberikan pengguna yang akan di-hash
- Hash MD5: Diterapkan pada kombinasi namespace + nama
Contoh format: 9125a8dc-52ee-365b-a5aa-81b0b3681cf6
Cara kerja UUID v3
- Pilih namespace UUID (yang telah ditentukan atau kustom)
- Gabungkan byte namespace UUID dengan byte string nama
- Hitung hash MD5 dari nilai yang digabungkan
- Setel bit versi ke 0011 (versi 3)
- Setel bit varian ke 10 (standar RFC 4122)
- Susun sebagai 32 digit heksadesimal dengan tanda hubung: format 8-4-4-4-12
Keuntungan & Pertimbangan
Advantages | Considerations |
---|---|
|
|
Struktur UUID v3
Bits | Content |
---|---|
0-47 | 48 bit pertama dari hash MD5 |
48-51 | Versi (0011 untuk v3) |
52-63 | 12 bit berikutnya dari hash MD5 |
64-65 | Varian (10 untuk RFC4122) |
66-127 | 62 bit sisa dari hash MD5 |
Namespace yang telah ditentukan
Name | UUID | Purpose |
---|---|---|
DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 | Nama domain |
URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 | URLs |
OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 | OID ISO |
X.500 DN | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 | Nama Terhormat X.500 |
UUID v3 vs. versi lain
Version | Berdasarkan | Kasus penggunaan | Privacy |
---|---|---|---|
UUID v1 | Waktu + MAC | ID berurutan waktu | ⚠️ Mengungkap MAC |
UUID v3 | Namespace + MD5 | ID Deterministik | ✅ Pribadi |
UUID v4 | Random | ID acak aman | ✅ Pribadi |
UUID v5 | Namespace + SHA-1 | ID Deterministik | ✅ Pribadi |
UUID v6 | Waktu (diurutkan ulang) | ID yang dapat diurutkan | ⚠️ Mengungkap MAC |
UUID v7 | Waktu + acak | ID yang dapat diurutkan | ✅ Pribadi |
Kasus Penggunaan Umum
- Pengenal berbasis URL: Membuat UUID dari URL
- ID spesifik domain: Mengonversi nama DNS ke UUID
- ID file deterministik: Pengalamatan konten
- ID pengguna: Dari email atau nama pengguna
- Entri konfigurasi: Untuk kunci konsisten
- Referensi dokumen: Sistem manajemen konten
Pertanyaan yang Sering Diajukan
Apakah UUID v3 aman secara kriptografi?
Tidak benar-benar. UUID v3 menggunakan MD5, yang memiliki kelemahan kriptografi yang diketahui. Untuk keamanan lebih tinggi, pertimbangkan UUID v5 (SHA-1) atau UUID v4 (acak).
Apakah input yang sama selalu menghasilkan UUID v3 yang sama?
Ya. UUID v3 bersifat deterministik - namespace dan nama yang sama akan selalu menghasilkan UUID identik, membuatnya berguna untuk ID yang dapat direproduksi.
Apa perbedaan antara UUID v3 dan v5?
Mereka bekerja identik kecuali v3 menggunakan MD5 sedangkan v5 menggunakan SHA-1. UUID v5 umumnya lebih disukai karena SHA-1 secara kriptografi lebih kuat daripada MD5.
Bisakah saya membuat namespace saya sendiri?
Ya. Meskipun RFC 4122 mendefinisikan namespace standar (DNS, URL, OID, X.500), Anda dapat membuat namespace kustom menggunakan UUID yang valid.
Apakah UUID v3 cocok untuk token keamanan?
Tidak. Karena kelemahan MD5 dan sifat deterministiknya, UUID v3 tidak direkomendasikan untuk token keamanan atau apa pun yang membutuhkan ketidakpastian.