有没有办法在PHP中追溯创建基于时间/节点的UUID?

bul*_*ley 5 php mysql uuid timestamp cassandra

大多数基于时间(类型1)的UUID是使用当前时间创建的.我正在将MySQL数据库迁移到cassandra,并希望为已归档项目创建基于时间的UUID.有人可以提供一个使用过去时间段创建类型1 UUID的示例吗?

Sch*_*jer 3

所有 uuid 版本 1 都是节点标识符(MAC 地址)、时间戳和随机种子的组合。

是的,这是可能的。该过程是可逆的。

来自RFC4122关于 UUID 版本 1 的时间戳部分(第 4.1.4 节):

“对于 UUID 版本 1,这由协调世界时 (UTC) 表示为自 1582 年 10 月 15 日 00:00:00.00(公历改革到基督教日历的日期)以来的 100 纳秒间隔计数。”

创建时基 UUID(uuid 版本 1)的基本算法(第 4.2.1 节)