Lewati ke konten utama

Membuat nilai UUID v4 acak

UUID versi 4 adalah nilai 128 bit yang 122 bit-nya berasal dari sumber acak yang aman secara kriptografis. Sisa 6 bit menandai versi dan varian RFC, sehingga grup ketiga setiap UUID v4 selalu diawali angka 4.

Contoh perhitungan

Byte masukan acak
9d 41 7c 02 e8 5b 13 f6 2a 7e c1 94 06 d3 b8 5f
Hasil
9d417c02-e85b-43f6-aa7e-c19406d3b85f
UUID yang dibuatPeluang setidaknya satu duplikat
10⁶≈ 9,4 × 10⁻²⁶
10⁹≈ 9,4 × 10⁻²⁰
10¹²≈ 9,4 × 10⁻¹⁴
10¹⁵≈ 9,4 × 10⁻⁸

Jumlah UUID untuk peluang duplikat 50%: ≈ 2,71 × 10¹⁸

Cara kerjanya

  • Generator mengisi 16 byte dengan data acak yang aman, lalu menetapkan nibble atas byte 6 menjadi 4 (versi) dan dua bit teratas byte 8 menjadi 10 (varian). Karena itu grup ketiga diawali 4 dan grup keempat diawali 8, 9, a, atau b.
  • Dengan 2¹²² nilai yang mungkin, pendekatan paradoks ulang tahun p ≈ 1 − e^(−n²/2¹²³) memberikan peluang bahwa n UUID acak berisi setidaknya satu duplikat.
  • UUID v4 tidak mengungkap stempel waktu atau informasi perangkat keras. Gunakan sebagai pengenal, bukan sebagai kata sandi atau rahasia autentikasi.
Versi UUID

Hasilkan 1-100 UUID sekaligus

Tentang UUID

UUID v1: UUID berbasis waktu yang mencakup stempel waktu dan alamat MAC komputer yang menghasilkan UUID. Berguna ketika Anda perlu tahu kapan UUID dibuat.

UUID v4: UUID yang dihasilkan secara acak. Ini adalah versi yang paling umum digunakan dan memberikan keunikan yang baik dengan kebocoran informasi minimal.

UUID v5: UUID berbasis nama menggunakan hashing SHA-1. Dengan namespace dan nama yang sama, Anda akan selalu mendapatkan UUID yang sama. Berguna untuk pembuatan UUID deterministik.

Panduan UUID lainnya