Gambaran keseluruhan versi UUID
UUID mempunyai pelbagai versi, setiap versi mempunyai ciri yang berbeza:
• v1: Berasaskan masa dan ID nod, teratur tetapi mungkin mendedahkan maklumat
• v3: Berasaskan nama dan ruang nama, menggunakan hash MD5
• v4: Dihasilkan sepenuhnya secara rawak, versi yang paling biasa digunakan
• v5: Berasaskan nama dan ruang nama, menggunakan hash SHA-1, lebih selamat daripada v3
• v6: Versi diperbaiki v1, bahagian masa disusun dalam susunan besar, lebih sesuai untuk penyusunan
• v7: Versi baru berasaskan cap masa Unix, menggabungkan urutan masa dan rawak
Bagaimana memilih versi UUID yang sesuai
Pilih versi yang paling sesuai berdasarkan senario penggunaan:
• Perlukan keselamatan: Pilih v4 (rawak) atau v5 (nama berasaskan SHA-1)
• Perlukan penyusunan: Pilih v6 atau v7 (berasaskan masa dan mudah disusun)
• Perlukan ketentuan: Pilih v3 atau v5 (input yang sama menghasilkan output yang sama)
• Perlukan prestasi: Pilih v1 (penghasilan pantas)
• Nilai khas: NIL (semua 0) atau MAX (semua F) untuk kes sempadan
UUID v4 adalah sepenuhnya rawak, sesuai untuk kebanyakan senario aplikasi. v3 dan v5 adalah deterministik, nama dan ruang nama yang sama sentiasa menghasilkan UUID yang sama, sesuai untuk kes yang memerlukan pemetaan yang konsisten. v1, v6 dan v7 mengandungi maklumat masa, mempunyai urutan dalam keadaan tertentu.
v1, v6 dan v7 semua mengandungi maklumat masa, tetapi diproses dengan cara yang berbeza. v6 memperbaiki masalah penyusunan masa v1, v7 menggunakan cap masa Unix untuk menyediakan urutan masa yang lebih mudah. Jika UUID yang boleh disusun mengikut masa penghasilan diperlukan, v6 dan v7 adalah pilihan yang lebih baik.
v1 mungkin mendedahkan masa penghasilan dan maklumat nod (alamat MAC). v4 sepenuhnya rawak, adalah pilihan terbaik untuk senario sensitif privasi. v3 menggunakan hash MD5, keselamatan lebih rendah daripada v5 yang menggunakan SHA-1. NIL dan MAX adalah nilai tetap, tidak boleh digunakan untuk senario keselamatan yang memerlukan keunikan.
UUID terutamanya digunakan untuk senario yang memerlukan pengecam unik global: sistem teragih, kunci utama pangkalan data, pengecam sesi, nama fail, token API, dll. Memilih versi yang sesuai boleh mengoptimumkan prestasi, keselamatan dan organisasi data.