Penjana UUID
UUID ditulis sebagai 36 aksara: 32 digit heksadesimal dalam kumpulan 8-4-4-4-12.
Cara guna
- Pilih v4 untuk ID rawak sepenuhnya atau v7 untuk ID yang tersusun mengikut masa dicipta.
- Tetapkan bilangan yang diperlukan, dari 1 hingga 500, dan tandakan Huruf besar atau Tanpa sempang jika sistem anda memerlukannya.
- Tekan Salin semua. Untuk memeriksa UUID sedia ada, tampal dalam kotak paling bawah untuk melihat versi, varian dan, bagi v7, bila ia dicipta.
Cara kiraan
UUID ialah 128 bit yang ditulis sebagai 32 digit heksadesimal dalam lima kumpulan. Empat bit dalam kumpulan ketiga menunjukkan versi dan bit teratas kumpulan keempat menunjukkan varian. Sebab itu v4 sentiasa berbentuk xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, dengan y ialah 8, 9, a atau b.
Versi 4 mengisi baki 122 bit dengan nombor rawak daripada penjana kriptografi pelayar anda, jadi pertembungan bukan kebimbangan yang praktikal.
Versi 7 bermula dengan cap masa Unix 48 bit dalam milisaat, diikuti bit rawak. ID yang dicipta kemudian tersusun selepas yang lebih awal, jadi indeks pangkalan data kekal kemas. Dalam satu kelompok, pembilang mengekalkan susunan penciptaan walaupun beberapa ID berkongsi milisaat yang sama.
Soalan lazim
Patutkah saya guna v4 atau v7?
Guna v4 jika anda hanya perlukan ID unik. Guna v7 jika ID menjadi kunci pangkalan data, kerana baris baharu ditambah di hujung indeks dan tidak bertaburan, jadi lebih pantas ditulis dan mudah disusun mengikut masa dicipta.
Bolehkah dua UUID bertembung?
Secara teori ya, secara praktik tidak. Dengan 122 bit rawak dalam v4, anda perlu menjana berbilion ID sesaat selama berdekad sebelum pengulangan mungkin berlaku.
Adakah UUID v7 mendedahkan bila ia dicipta?
Ya, sesiapa pun boleh membaca cap masa milisaat daripada 12 digit heksadesimal pertama. Elakkan v7 untuk nilai yang masa penciptaannya perlu dirahsiakan, seperti token awam.
Selamatkah UUID digunakan sebagai rahsia?
Ia dijana dengan sumber rawak kriptografi pelayar, tetapi UUID bertujuan sebagai pengecam. Gunakan penjana token khusus untuk kata laluan dan kunci API.