สิ่งนี้เกี่ยวข้องกับคำถามนี้ ฉันใช้รหัสด้านล่างจากคำตอบนี้เพื่อสร้าง UUID ใน 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);
});
โซลูชันนี้ดูเหมือนจะใช้งานได้ดี แต่ฉันได้รับการชนกัน นี่คือสิ่งที่ฉันมี:
- เว็บแอปที่ทำงานใน Google Chrome
- ผู้ใช้ 16 คน
- ผู้ใช้เหล่านี้สร้าง UUID ประมาณ 4000 รายการในช่วง 2 เดือนที่ผ่านมา
- ฉันได้รับการชนกันประมาณ 20 ครั้ง - เช่น UUID ใหม่ที่สร้างขึ้นในวันนี้เหมือนกับเมื่อประมาณ 2 เดือนที่แล้ว (ผู้ใช้คนละคน)
อะไรเป็นสาเหตุของปัญหานี้และฉันจะหลีกเลี่ยงได้อย่างไร