Apa itu UUID v3?
Sebuah UUID v3 mencacah gabungan UUID namespace dan nama dengan MD5, lalu menempatkan 128 bit hasilnya ke bentuk UUID. Tidak ada keacakan: selama masukannya tetap, keluarannya tetap sama.
Sifat tetap ini menghapus kebutuhan koordinasi pusat saat membuat pengenal di sistem terdistribusi. Namun MD5 sudah dipecahkan, sehingga rancangan baru sebaiknya memakai v5 (SHA-1) alih-alih v3.
Cara pakai
- Pilih namespace: DNS, URL, OID, atau X.500.
- Tulis teks yang akan dicacah di kolom nama, misalnya
example.com. - Klik Buat; masukan yang sama selalu memberi UUID yang sama.
Kegunaan
- Menghasilkan ID yang selalu sama dari sebuah nama domain.
- Menurunkan kunci utama tetap dari jalur berkas atau nama sumber.
- Kunci cache dan ID konfigurasi yang berbasis cacahan.
Posisi UUID v3
| Opsi | Kapan dipakai |
|---|---|
v3 | MD5: cepat dan deterministik, tidak disarankan untuk rancangan baru |
v5 | Versi SHA-1 dari gagasan yang sama; pilih ini untuk proyek baru |
v4 | Acak; tepat bila Anda tidak ingin ID yang sama dari masukan yang sama |
Versi UUID secara singkat
| Versi | Dapat diurutkan | Berbasis | Paling cocok untuk |
|---|---|---|---|
| v1 | Tidak | Stempel waktu + alamat MAC | Sistem lama yang masih mengharapkan v1 |
| v3 | Tidak | Cacahan MD5 dari sebuah nama | Pengenal deterministik bila MD5 diwajibkan |
| v4 | Tidak | 122 bit acak | Hampir semua pengenal umum |
| v5 | Tidak | Cacahan SHA-1 dari sebuah nama | Bila nama yang sama harus selalu memberi ID yang sama |
| v6 | Ya | Stempel waktu yang diurutkan ulang | Pengenal terurut tanpa melepas keacakan |
| v7 | Ya | Waktu Unix milidetik | Kunci utama basis data dan ID peristiwa |
| v8 | Tidak | Tata letak bit Anda sendiri | Format khusus atau eksperimental |
Ketujuh versi sama-sama 128 bit dan ditulis dalam bentuk 8-4-4-4-12 yang sama. Yang berbeda hanya makna bitnya.
Pertanyaan umum
Apakah v3 benar-benar deterministik?
Ya. Namespace dan nama yang sama selalu menghasilkan UUID yang sama, baik dibuat di mesin lain maupun bertahun-tahun kemudian.
Bisakah v3 dipakai untuk keamanan?
Tidak. MD5 sudah pecah terhadap serangan tabrakan; penyerang bisa membuat dua nama berbeda yang menghasilkan UUID sama. Bila butuh keamanan, gunakan v5 atau skema berbasis HMAC milik Anda sendiri.
Mengapa nomor versinya 3?
Kolom versi berukuran 4 bit dan di sini berisi nilai 3. Standar mendefinisikan ketujuh versi dalam kerangka 128 bit yang sama; hanya makna bitnya yang berbeda.