2010-09-22 9 views
5

La maggior parte degli UUID basati sul tempo (tipo 1) vengono creati utilizzando l'ora corrente. Sto migrando un database MySQL su cassandra e vorrei creare UUID timebased per gli oggetti archiviati. Qualcuno può fornire un esempio di come vengono creati gli UUID di tipo 1 utilizzando i periodi di tempo passati?Esiste un modo per creare retroattivamente UUID basato su tempo/nodo in PHP?

+2

Probabilmente possibile, ma perché? L'unico scopo di un UUID è di essere universalmente unico, senza in realtà contenere altre informazioni? –

risposta

3

Tutti gli uuids versione 1 sono una combinazione di identificatore di nodo (indirizzo MAC), data/ora e seme casuale.

Sì, è possibile. Il processo è reversibile.

Da RFC4122 circa la parte timestamp di UUID versione 1 (punto 4.1.4):

"Per UUID versione 1, questo è rappresentato da universale coordinato Time (UTC) come numero di Intervalli di 100 nanosecondi dal 00: 00: 00.00, 15 ottobre 1582 (la data della riforma gregoriana al calendario cristiano ). "

Basic algorithm (section 4.2.1) per la creazione di UUID base dei tempi (uuid versione 1)

Problemi correlati