UUID 不同版本的区别及选择

2019-08-13  本文已影响0人  UULU

全局唯一标识 (Universally unique identifier)

格式

格式为:00000000-0000-0000-0000-000000000000
总长度 36,由 32 个 16 进制字符和 4 个连字符组成。连字符仅用于增加可读性,实际的精度为
一个 16 进制字符为 2^4=4bit,32 个则为 32*4bit=128bit

版本区别

Version 1

每个节点每秒钟可生成 1630 亿个,也就是说每毫秒 163 个

Version 2

允许一个节点存在 1 万亿个 域名/ID 对象,每个对象每 7 秒产生一个 UUID

Version 3 和 Version 5

将值与指定的命名空间拼接后,做 hash 运算,再做一些额外的固定变换得到最终的 UUID
V5 区别于 V3 是使用了更不容易碰撞的 hash 算法,前者 sha1,后者 md5。
注意值不变的情况下生成的 UUID 相同

Version 4

每秒生成 10 亿个,大约需要 85 年才有重复的可能,所以在正常应用情形下这种碰撞概率可以忽略

版本选择

参考

WIKI

上一篇 下一篇

猜你喜欢

热点阅读