Penjana UUID / GUID
Buat UUID dalam v1, v4, atau v5 — massal, berformat, dengan awalan/akhiran opsional.
Rujukan Versi
v4 — Rawak
UUID versi 4 dihasilkan sepenuhnya dari byte rawak (atau pseudo-rawak). 122 dari 128 bit bersifat rawak; 6 bit sisanya mengekod versi (4) dan varian. Kerana tidak membawa informasi terstruktur, UUID v4 adalah pilihan paling sederhana: tidak memerlukan status bersama, jam rangkaian, atau koordinasi namespace. Probabiliti menghasilkan duplikat sangat rendah. Gunakan v4 sebagai default untuk kunci primer pangkalan data, token sesi, dan konteks apa pun yang memerlukan keunikan tetapi tidak memerlukan urutan waktu.
Wikipedia — UUID Version 4 (random)
v1 — Berasaskan Waktu
UUID versi 1 menyematkan timestamp 60-bit (interval 100 nanosaat sejak 15 Oktober 1582, tarikh reformasi kalendar Gregorian), urutan clock 14-bit, dan pengenal node 48-bit (secara historis alamat MAC mesin pembuat). Kerana timestamp adalah komponen terpenting, UUID v1 diurutkan secara kronologis saat dibandingkan secara leksikografis — sifat yang berguna untuk indeks database berkluster. Kelemahannya adalah privasi: UUID v1 mendedahkan alamat MAC mesin dan waktu pembuatan yang tepat.
Wikipedia — UUID Version 1 (time-based)
v5 — Namespace + Nama (SHA-1)
UUID versi 5 bersifat deterministik: dengan namespace UUID yang sama dan string nama yang sama, outputnya selalu identik. Algoritma menggabungkan byte namespace dan nama yang dikodkan UTF-8, menghasilkan hash dengan SHA-1, lalu melipat digest 160-bit menjadi 128 bit. Ini membuat v5 ideal untuk menghasilkan pengenal yang stabil dan dapat direproduksi. v3 menggunakan MD5; v5 lebih disukai kerana SHA-1 menghasilkan lebih sedikit tabrakan.