uuid -v4 和 uuidgen 有什么区别?
What is the difference between uuid -v4 and uuidgen?
我正在为 githooks 创建一些 Jenkins 令牌,我正在使用 uuidgen
。
我的同事说他们通常使用 uuid -v4
,在 sudo apt-get
-ing uuid
之后,uuid -v4
和 uuidgen
看起来是一样的:
$ uuid -v4
832dce77-ddec-4cc5-9872-47a81456653f
$ uuidgen
a321bc87-a1b5-4cc5-b6b5-feaf3a610ab8
供参考:我是 运行 这个 Ubuntu。
它们有什么区别?他们是一样的吗?
tldr;它们都是随机的,因为 uuidgen
== uuidgen -r
== uuid -v4
man 1 uuidgen
并没有这么说,但是 uuidgen -t
和 uuidgen -r
分别生产版本 1 ("time and node based") 和版本 4 ("random data based") ISO/IEC 11578:1996.
规定的 UUID
$ { uuidgen -t && uuidgen -r && uuid -v1 && uuid -v4 ; } | xargs -L1 uuid -d
encode: STR: 5f441c74-c63a-11e7-8cb0-0242ac110002
SIV: 126630312945231364299766443008257490946
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 1 (time and node based)
content: time: 2017-11-10 17:12:46.679154.0 UTC
clock: 3248 (usually random)
node: 02:42:ac:11:00:02 (local unicast)
encode: STR: d70f042a-c5ca-4726-b259-795e47fd1b95
SIV: 285861988065069261246745478758429170581
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 4 (random data based)
content: D7:0F:04:2A:C5:CA:07:26:32:59:79:5E:47:FD:1B:95
(no semantics: random data only)
encode: STR: 5f443b5a-c63a-11e7-8cd2-0242ac110002
SIV: 126630939639996852130686378090112811010
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 1 (time and node based)
content: time: 2017-11-10 17:12:46.679945.0 UTC
clock: 3282 (usually random)
node: 02:42:ac:11:00:02 (local unicast)
encode: STR: 09432e97-a1fc-4e05-9492-7c0c11ec0abc
SIV: 12311880856012488273304867468361861820
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 4 (random data based)
content: 09:43:2E:97:A1:FC:0E:05:14:92:7C:0C:11:EC:0A:BC
(no semantics: random data only)
参考文献:
我正在为 githooks 创建一些 Jenkins 令牌,我正在使用 uuidgen
。
我的同事说他们通常使用 uuid -v4
,在 sudo apt-get
-ing uuid
之后,uuid -v4
和 uuidgen
看起来是一样的:
$ uuid -v4
832dce77-ddec-4cc5-9872-47a81456653f
$ uuidgen
a321bc87-a1b5-4cc5-b6b5-feaf3a610ab8
供参考:我是 运行 这个 Ubuntu。
它们有什么区别?他们是一样的吗?
tldr;它们都是随机的,因为 uuidgen
== uuidgen -r
== uuid -v4
man 1 uuidgen
并没有这么说,但是 uuidgen -t
和 uuidgen -r
分别生产版本 1 ("time and node based") 和版本 4 ("random data based") ISO/IEC 11578:1996.
$ { uuidgen -t && uuidgen -r && uuid -v1 && uuid -v4 ; } | xargs -L1 uuid -d
encode: STR: 5f441c74-c63a-11e7-8cb0-0242ac110002
SIV: 126630312945231364299766443008257490946
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 1 (time and node based)
content: time: 2017-11-10 17:12:46.679154.0 UTC
clock: 3248 (usually random)
node: 02:42:ac:11:00:02 (local unicast)
encode: STR: d70f042a-c5ca-4726-b259-795e47fd1b95
SIV: 285861988065069261246745478758429170581
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 4 (random data based)
content: D7:0F:04:2A:C5:CA:07:26:32:59:79:5E:47:FD:1B:95
(no semantics: random data only)
encode: STR: 5f443b5a-c63a-11e7-8cd2-0242ac110002
SIV: 126630939639996852130686378090112811010
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 1 (time and node based)
content: time: 2017-11-10 17:12:46.679945.0 UTC
clock: 3282 (usually random)
node: 02:42:ac:11:00:02 (local unicast)
encode: STR: 09432e97-a1fc-4e05-9492-7c0c11ec0abc
SIV: 12311880856012488273304867468361861820
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 4 (random data based)
content: 09:43:2E:97:A1:FC:0E:05:14:92:7C:0C:11:EC:0A:BC
(no semantics: random data only)
参考文献: