Есть ли способ задним числом создать UUID на основе времени / узла в PHP? - PullRequest
5 голосов
/ 22 сентября 2010

Большинство UUID на основе времени (тип 1) создаются с использованием текущего времени.Я перевожу базу данных MySQL на cassandra и хотел бы создать UUID с привязкой ко времени для заархивированных элементов.Может ли кто-нибудь привести пример того, как UUID типа 1 создаются с использованием прошлых периодов времени?

1 Ответ

3 голосов
/ 22 сентября 2010

Все версии uuids 1 представляют собой комбинацию идентификатора узла (MAC-адреса), отметки времени и случайного начального числа.

Да, это возможно. Процесс обратим.

С RFC4122 о части метки времени UUID версии 1 (раздел 4.1.4):

"Для UUID версии 1 это в лице координированного универсального Время (UTC) как отсчет 100-наносекундные интервалы с 00: 00: 00.00, 15 октября 1582 г. (дата григорианской реформы христианской календарь). "

Базовый алгоритм (раздел 4.2.1 ) для создания UUID на временной основе (версия uuid 1)

...