为什么第4版GUID的第17位只限于4种可能性?

NH.*_*NH. 5 uuid guid

我了解到,这并不会从所涉及的熵中获得很大的收益,并且即使保留了GUID的整个特征(出于任何目的),对于每只昆虫来说,我们仍然有足够的余地,所以我不担心,只是好奇。

这个好答案所示,用于生成GUID 的版本4算法具有以下格式:

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
  1. x是随机的
  2. 4是常数,它表示版本号。
  3. y是以下其中之一:8、9,A或B

针对UUIDRFC规范指出,必须以这种方式设置这些位,但是我看不出任何原因。

为什么第三个项目符号(第17个数字)仅限于这四个数字?

Mik*_*iar 3

引用可敬的利珀特先生的话

\n\n
\n

首先,当我们说 \xe2\x80\x9c 位\xe2\x80\x9d 时,我们在谈论哪些位?我们已经知道,在 \xe2\x80\x9crandom\xe2\x80\x9d GUID 中,第三部分的第一个十六进制数字始终为 4....第四部分的位中的 GUID 中存储了其他版本信息以及;您\xe2\x80\x99 会注意到,GUID 几乎总是将 8、9、a 或 b 作为第四部分的第一个十六进制数字。因此,我们总共为版本信息保留了 6 位,剩下 122 位可以随机选择。

\n
\n\n

(来自https://ericlippert.com/2012/05/07/guid-guide-part- Three/ )

\n\n

tl;dr - 这是更多版本信息。为了获得更具体的信息,我怀疑您必须找到该规范的作者。

\n