Generator UUID
Buat UUID versi 4 acak, satu hingga seratus sekaligus, dan salin sebagai daftar. UUID berasal dari generator acak browser Anda yang aman secara kriptografis, dan pemeriksa memberi tahu versi dan varian UUID apa pun yang Anda tempel.
0 karakter · 0 kata · 0 baris
Berjalan sepenuhnya di tab browser ini. Teks Anda tidak pernah diunggah atau disimpan.
Versi UUID
Versi adalah digit pertama dari kelompok ketiga; varian dienkode pada digit pertama kelompok keempat (8, 9, a, atau b untuk UUID RFC). Contohnya adalah test vector dari RFC 9562.
| Versi | Dibangun dari | Contoh |
|---|---|---|
| v1 | Timestamp Gregorian + ID node (MAC) | c232ab00-9414-11ec-b3c8-9f6bdeced846 |
| v3 | Hash MD5 dari namespace + nama | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v4 | 122 bit acak | 919108f7-52d1-4320-9bac-f847db4148a8 |
| v5 | Hash SHA-1 dari namespace + nama | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| v6 | Timestamp v1 yang disusun ulang agar ID terurut berdasarkan waktu | 1ec9414c-232a-6b00-b3c8-9f6bdeced846 |
| v7 | Milidetik Unix + bit acak, dapat diurutkan | 017f22e2-79b0-7cc3-98c4-dc0c0c07398f |
| v8 | Tata letak kustom yang ditentukan aplikasi | 2489e9ad-2ee2-8e00-8ec9-32d5f69181c0 |
Apa itu UUID dan cara membacanya
UUID (universally unique identifier, disebut GUID di perangkat lunak Microsoft) adalah bilangan 128 bit yang ditulis sebagai 32 digit heksadesimal dalam kelompok 8-4-4-4-12, misalnya f47ac10b-58cc-4372-a567-0e02b2c3d479. UUID distandardisasi dalam RFC 4122 pada 2005; pada Mei 2024 dokumen itu digantikan oleh RFC 9562, yang mempertahankan versi lama dan menambahkan tiga versi baru. Dua posisi bersifat tetap: digit pertama kelompok ketiga adalah versi (angka 4 pada 4372), dan digit pertama kelompok keempat menunjukkan varian, yaitu 8, 9, a, atau b untuk setiap UUID yang mengikuti RFC.
Versi 4 mengisi 122 bit lainnya dengan data acak. Ruang itu begitu besar sehingga Anda perlu membuat sekitar 2,7 kuintiliun (2,7 × 10¹⁸) UUID untuk peluang 50% mendapatkan satu duplikat, itulah sebabnya sistem membuat ID v4 secara mandiri di banyak mesin tanpa koordinasi. Halaman ini memakai crypto.randomUUID, atau crypto.getRandomValues jika yang pertama tidak tersedia, dan tidak pernah Math.random, yang outputnya tidak dirancang agar tak dapat ditebak. Opsi Huruf besar dan Tanpa tanda hubung hanya mengubah format; nilainya tetap sama, dan sebagian besar parser menerima kedua bentuk huruf.
UUID v4, v7, dan versi lainnya
Versi 1 dan 6 dibangun dari timestamp dan ID node, awalnya alamat MAC komputer, yang membocorkan di mana dan kapan ID dibuat. Versi 3 dan 5 meng-hash namespace dan nama dengan MD5 atau SHA-1, sehingga input yang sama selalu menghasilkan UUID yang sama. Versi 8 adalah tata letak bebas untuk skema kustom. Pendatang baru yang paling penting adalah versi 7: diawali timestamp Unix 48 bit dalam milidetik dan sisanya diisi bit acak, sehingga ID terurut menurut waktu pembuatannya.
Urutan itulah alasan untuk mempertimbangkan v7 sebagai primary key database. Key v4 yang acak tersebar di seluruh indeks B-tree, memecah halaman dan merusak lokalitas cache seiring tabel membesar, sedangkan key v7 datang dalam urutan yang kurang lebih menaik seperti kolom auto-increment, tetapi tetap dapat dibuat tanpa penghitung terpusat. Pilih v4 jika Anda menginginkan ID yang tidak mengungkapkan apa pun, termasuk kapan ID itu dibuat; pilih v7 jika performa insert dan urutan waktu penting. UUID adalah pengenal, bukan rahasia: untuk kata sandi dan rahasia API, gunakan pembuat kata sandi khusus. Encoder dan alat inspeksi lainnya ada di alat developer.
Pertanyaan yang sering diajukan
- Mungkinkah dua UUID acak yang dibuat terpisah sama persis?
- Secara teori mungkin, secara praktik tidak. Dengan 122 bit acak, bahkan satu miliar UUID v4 per detik selama sekitar 86 tahun hanya memberi peluang sekitar 50% untuk satu kolisi, asalkan sumber acaknya baik.
- Apa perbedaan UUID dan GUID?
- Secara substansi tidak ada. GUID adalah nama dari Microsoft untuk pengenal 128 bit yang sama. Sebagian alat Microsoft menampilkan GUID dalam huruf besar atau diapit kurung kurawal, dan pemeriksa di sini menerima bentuk tersebut.
- Bagaimana cara mengetahui versi sebuah UUID?
- Lihat digit pertama kelompok ketiga: 4 berarti acak, 7 berarti terurut menurut waktu, 1 berarti timestamp plus node. Tempel ke Periksa UUID untuk melihat versi dan variannya.
- Haruskah saya memakai UUIDv7 alih-alih v4 untuk key database?
- Sering kali ya. Key v7 terurut menurut waktu, sehingga indeks B-tree tetap ringkas dan insert tetap cepat. Tetap gunakan v4 jika waktu pembuatan yang tertanam di ID v7 harus dirahasiakan.
- Apakah aman memakai UUID sebagai token reset kata sandi?
- UUID v4 dari generator yang aman memiliki 122 bit acak, cukup untuk tidak bisa ditebak, tetapi banyak library menyediakan fungsi token khusus dengan masa berlaku eksplisit. Jangan pernah memakai versi berbasis waktu seperti v1 atau v7 sebagai rahasia.