6、UUID

java.util.UUID

什么是UUID

UUID是国际标准化组织(ISO)提出的一个概念。这个数值可以通过一定的算法计算出来。为了提高效率,常用的UUID可缩短至16位。UUID用来识别属性类型,在所有空间和时间上被视为唯一的标识。一般来说,可以保证这个值是真正唯一的任何地方产生的任意一个UUID都不会有相同的值。UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。

UUID是由一组32位数的16进制数字所构成,UUID的标准型式包含32个16进制数字,以连字号分为五段,形式为8-4-4-4-12的32个字符,如

550e8400-e29b-41d4-a716-446655440000

使用方法

randomUUID()

采用版本4,利用随机性生成

UUID uuid = UUID.randomUUID();  
System.out.println(uuid.toString());
// bddaf695-f393-498f-9230-73c399988c9c

nameUUIDFromBytes()

采用版本3,利用名称生成,只要有用户的唯一性信息。就能保证此用户的uuid的唯一性,例如(身份证号等)

UUID uuid = UUID.nameUUIDFromBytes("12345678".getBytes());
System.out.println(uuid.toString());
// 25d55ad2-83aa-300a-b464-c76d713c07ad