不知道为什么但我最近对GUID感兴趣。在查看其中的一些之后,我编写了一个函数来生成它们,但是使用http://guid.us/Test/GUID验证它们并不能通过它。我的生成器的一些GUID:
914HK4XO-GF46-EDNY-07AW-FDB0ZHI8ZLP8
OHF7XXMG-E1YK-9EOL-G94E-WC9MCSFI0CXE
0X1X295G-Q394-DX8N-5C39-5I858I7WFRHH
是什么使这些与下面的有效GUID有所不同?
C5D850D4-4273-4170-A3C5-61B84F88105E
AAF77D1B-D1CF-4562-B624-204DC876CA17
18C50D98-D3F7-4C3A-9E67-CFAFB3D53F38
叫我失明,但我看不出两者之间的区别。
答案 0 :(得分:1)
GUID中的第13个元素是GUID版本。在有效的GUID中,它们都是" 4" (即第4版)。无论您使用何种语言,都很可能是符合GUID的库。有关各种格式的详细说明,请参阅http://en.wikipedia.org/wiki/Globally_unique_identifier。
答案 1 :(得分:0)
嗯,可能的原因可能是GUID不仅仅是32字节的随机和唯一数据。它还必须符合一些准则。最接近的是我猜一个信用卡号码。它们都是唯一的,但同时并非每个唯一的号码都是有效的信用卡号码。还有一种算法可以检查其有效性。顺便说一下,我只是“听到”了关于信用卡号码的这个事情,所以我并不是百分之百确定这是他们的工作方式。
答案 2 :(得分:0)
UUID(又名GUID)在结构上由" varient"定义。例如,RFC 4122概述了具有五个版本的特定UUID变量。
研究RFC 4122以更好地理解定义此变量和版本的重要位可能会有所帮助。可以观察这些位和"反向工程" UUID,显示UID变量,版本等
您可以使用"Mahonri Moriancumer's UUID and GUID Generator and Forensics"研究UUID此网站可以帮助您更好地了解UUID格式,变体,版本等。