Это относится к этому вопросу . Я использую приведенный ниже код из этого ответа для создания 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 пользователей.
- около 4000 UUID были сгенерированы этими пользователями за последние 2 месяца.
- У меня было около 20 коллизий - например, новый UUID, сгенерированный сегодня, был таким же, как около 2 месяцев назад (другой пользователь).
Что вызывает эту проблему и как ее избежать?