Isso se relaciona com esta questão . Estou usando o código abaixo de desta resposta para gerar UUID em 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);
});
Esta solução parecia estar funcionando bem, mas estou recebendo colisões. Aqui está o que eu tenho:
- Um aplicativo da web em execução no Google Chrome.
- 16 usuários.
- cerca de 4.000 UUIDs foram gerados nos últimos 2 meses por esses usuários.
- Tive cerca de 20 colisões - por exemplo, o novo UUID gerado hoje era o mesmo de cerca de 2 meses atrás (usuário diferente).
O que está causando esse problema e como posso evitá-lo?
(r&0x3|0x8)
porção / avaliação?