我使用资料来源:GUID生成GUID。但是,每当我在同一个“会话”(即运行脚本)中生成GUID时,唯一更改的数字是最前面的数字:
3BAF1240-0573-11E4-B31C-B8EC0EDF341C
3BAF1588-0573-11E4-B31C-B8EC0EDF341C
3BAF1678-0573-11E4-B31C-B8EC0EDF341C第一组数字是唯一变化的集合。如果我再次运行该脚本,则其余的数字略有不同,但第二组和第三组数字仍然相同:
E5D3A59C-0573-11E4-AA07-A5F15201CE1F
E5D3A920-0573-11E4-AA07-A5F15201CE1F
E5D3A9C0-0573-11E4-AA07-A5F15201CE1F但是,唯一变化的值是在第一组数字中。这与我在C#中生成GUID时得到的结果非常不同,我认为GUID应该是随机的,那么为什么只改变前面的一组数字呢?我可以使用作为GUID生成的GUID吗?
发布于 2014-07-07 01:36:48
不改变的部分是基于您的MAC地址。这由1表示为第3组的第一个数字。其余的部分是基于当前时间的,这就是为什么它们不会发生很大变化的原因。
这些数字当然不需要是随机的。他们只需要有一个极低的概率匹配另一个GUID。MAC地址和当前时间的结合(第1版算法)做得相当好,尽管还有其他算法(例如,第4版是随机的)。
请参阅标识符
和标识符
https://stackoverflow.com/questions/24601856
复制相似问题