UltKit

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.

VersiDibangun dariContoh
v1Timestamp Gregorian + ID node (MAC)c232ab00-9414-11ec-b3c8-9f6bdeced846
v3Hash MD5 dari namespace + nama5df41881-3aed-3515-88a7-2f4a814cf09e
v4122 bit acak919108f7-52d1-4320-9bac-f847db4148a8
v5Hash SHA-1 dari namespace + nama2ed6657d-e927-568b-95e1-2665a8aea6a2
v6Timestamp v1 yang disusun ulang agar ID terurut berdasarkan waktu1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Milidetik Unix + bit acak, dapat diurutkan017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8Tata letak kustom yang ditentukan aplikasi2489e9ad-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.