Generator UUID

Buat UUID versi 4 atau versi 7 di browser Anda, satu per satu atau seratus sekaligus.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah, dicatat, atau disimpan.

Versi

UUID adalah identifier 128 bit yang bisa Anda buat di mana saja, tanpa meminta otoritas pusat, dan tetap bisa diharapkan unik. Dua versi tersedia di sini karena keduanya menyelesaikan masalah yang berbeda.

Cara kerja

Versi 4 terdiri dari 122 bit acak, dengan enam bit tetap yang menandai versi dan varian. Versi ini tidak membawa informasi apa pun, yang memang Anda inginkan untuk identifier publik, tetapi justru membuatnya menjadi clustered primary key yang buruk: penyisipan berturut-turut jatuh di titik yang tidak berkaitan di dalam indeks.

Versi 7, yang distandarkan dalam RFC 9562, menempatkan timestamp 48 bit dalam milidetik di depan 74 bit acak. Nilai yang dibuat belakangan diurutkan setelah nilai yang dibuat lebih awal, jadi penyisipan tetap berada di ujung indeks dan query berdasarkan rentang waktu berfungsi. Sebagai gantinya, identifier ini mengungkapkan kapan ia dibuat.

Bit acak berasal dari pembangkit bilangan acak kriptografis di browser Anda, sumber yang sama yang dipakai untuk kunci, bukan dari Math.random.

Pertanyaan umum

Haruskah saya memakai v4 atau v7?

v7 untuk primary key database, di mana urutan menjaga indeks tetap sehat. v4 jika identifier terlihat publik dan tidak boleh membocorkan tanggal pembuatan, atau jika urutannya memungkinkan orang menebak berapa banyak record yang Anda buat per jam.

Bisakah dua UUID bertabrakan?

Secara teori bisa, dalam praktiknya tidak dengan v4: dengan 122 bit acak, Anda harus membuat miliaran per detik selama satu abad agar tabrakan menjadi mungkin. Risiko sebenarnya adalah sumber acak yang lemah, itulah sebabnya di sini digunakan sumber kriptografis.

Bagaimana dengan v1?

Versi 1 menyematkan alamat MAC mesin yang membuatnya, sehingga membocorkan identitas perangkat kerasnya. v7 memberi Anda urutan waktu yang sama tanpa hal itu, dan merupakan penggantinya yang modern.

Perlu diketahui

  • Nilai dibuat di browser Anda dan tidak pernah dikirim ke mana pun.
  • Alat ini tidak deterministik: memuat ulang halaman menghasilkan identifier baru, dan memang itu tujuannya.

Sumber

Semua alat Kode