Ciò si riferisce a questa domanda . Sto usando il codice seguente da questa risposta per generare l'UUID in 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);
});
Questa soluzione sembrava funzionare bene, ma sto ricevendo collisioni. Ecco cosa ho:
- Un'app web in esecuzione in Google Chrome.
- 16 utenti.
- circa 4000 UUID sono stati generati negli ultimi 2 mesi da questi utenti.
- Ho avuto circa 20 collisioni - ad esempio, il nuovo UUID generato oggi era lo stesso di circa 2 mesi fa (utente diverso).
Qual è la causa del problema e come posso evitarlo?
(r&0x3|0x8)
significa / valutazione la porzione?