这与这个问题有关。我正在使用此答案中的以下代码在 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 Chrome 中运行的 Web 应用程序。
- 16 个用户。
- 这些用户在过去两个月中生成了大约 4000 个 UUID。
- 我遇到了大约 20 次冲突 - 例如,今天生成的新 UUID 与大约两个月前相同(不同的用户)。
是什么导致了这个问题,我该如何避免?