이것은 이 질문 과 관련 이 있습니다. 이 답변의 아래 코드를 사용하여 JavaScript에서 UUID를 생성합니다.
'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 크롬에서 실행되는 웹 앱.
- 16 명의 사용자.
- 이러한 사용자에 의해 지난 2 개월 동안 약 4000 개의 UUID가 생성되었습니다.
- 약 20 건의 충돌이 발생했습니다. 예를 들어 오늘 생성 된 새 UUID가 약 2 개월 전과 동일했습니다 (다른 사용자).
이 문제의 원인은 무엇이며 어떻게 방지 할 수 있습니까?
(r&0x3|0x8)
에 부분 평균 / 평가를?