随机生成UUID

设备uuid

  • ​长度​​:36 个字符

  • ​结构​​:由 32 个十六进制数字(0-9, a-f)和 4 个连字符 - 组成,分为 5 组,格式为 8-4-4-4-12。示例:550e8400-e29b-41d4-a716-446655440000

安装utli-linux,centos默认安装若没有安装自行安装:yum install util-linux

替代方案:cat /proc/sys/kernel/random/uuid

# 16进制,基于时间线的uuid

包含时间戳(60 位时间戳 + 4 位时钟序列),可通过解析 UUID 的前 8 位十六进制数反推生成时间,

1
2
uuidgen 
# 示例:2207956f-7013-45e8-b129-842655ba8064

# 16进制,随机时间线的uuid

避免通过 UUID 关联到物理设备或用户

1
2
uuidgen -r
# 示例:2207956f-7013-45e8-b129-842655ba8064

# ** 16进制,**输出UUID,删除横线变32位(无横线)

1
2
3
#使用sed删除“-”:
uuidgen |sed 's/-//g'
# 示例:31c962c9421e4e939148f87824f9b22e

#openssl生成16进制随机数

注:-hex参数后跟的数字乘以2即是生成的字符数

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#2位
openssl rand -hex 1

#4位
openssl rand -hex 2

#6位
openssl rand -hex 3

#8位
openssl rand -hex 4

#16位
openssl rand -hex 8
f02eb3db42982048

#32位
openssl rand -hex 16

#64位
openssl rand -hex 32

#128位
openssl rand -hex 64