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 dibuat | Peluang 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.
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.