Điều này liên quan đến câu hỏi này . Tôi đang sử dụng mã bên dưới từ câu trả lời này để tạo UUID trong 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);
});
Giải pháp này dường như hoạt động tốt, nhưng tôi đang gặp phải những va chạm. Đây là những gì tôi có:
- Một ứng dụng web chạy trong Google Chrome.
- 16 người dùng.
- khoảng 4000 UUID đã được tạo ra trong 2 tháng qua bởi những người dùng này.
- Tôi nhận được khoảng 20 lần va chạm - ví dụ: UUID mới được tạo hôm nay giống với khoảng 2 tháng trước (người dùng khác).
Điều gì đang gây ra vấn đề này và làm cách nào để tránh nó?
(r&0x3|0x8)
phần trung bình / thẩm định?