2010-09-22 3 views
5

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

+2

Наверное можно, но зачем? Разве не единственная цель UUID быть универсально уникальной, без фактического содержания какой-либо другой информации? –

ответ

3

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

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

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

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

Basic algorithm (section 4.2.1) для создания временной базы UUID (UUID версия 1)