Ini berkaitan dengan pertanyaan ini . Saya menggunakan kode di bawah ini dari jawaban ini untuk menghasilkan UUID dalam JavaScript:
'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
Solusi ini tampaknya berfungsi dengan baik, tetapi saya mengalami benturan. Inilah yang saya miliki:
- Aplikasi web yang berjalan di Google Chrome.
- 16 pengguna.
- sekitar 4000 UUID telah dibuat dalam 2 bulan terakhir oleh para pengguna ini.
- Saya mendapat sekitar 20 tabrakan - misalnya UUID baru yang dibuat hari ini sama dengan sekitar 2 bulan lalu (pengguna berbeda).
Apa yang menyebabkan masalah ini dan bagaimana cara menghindarinya?