solaris上的uuid_生成随机(libuuid) 我有一个简单的C++函数,它调用“uuIDiGeaTythOrthRead”。生成的UUID似乎不符合标准(UUID版本4)。有什么想法吗
我使用的代码是(uuid_generate_random&uuid_unparse函数在libuuid中可用): 我知道“uuid_generate_random”生成uuid版本4,但是,返回的字符串如下所示:solaris上的uuid_生成随机(libuuid) 我有一个简单的C++函数,它调用“uuIDiGeaTythOrthRead”。生成的UUID似乎不符合标准(UUID版本4)。有什么想法吗,c++,uuid,C++,Uuid,我使用的代码是(uuid_generate_random&uuid_unparse函数在libuuid中可用): 我知道“uuid_generate_random”生成uuid版本4,但是,返回的字符串如下所示: Run1) 2e9dc3c5-426a-eea0-8186-f6b65b5dc361 Run2) 112c6a78-51bc-cbbb-ae9c-92a33e1fd95f Run3) 5abd3d6d-0259-ce5c-8428-a51bacc04c0f Run4) 66a22
Run1) 2e9dc3c5-426a-eea0-8186-f6b65b5dc361
Run2) 112c6a78-51bc-cbbb-ae9c-92a33e1fd95f
Run3) 5abd3d6d-0259-ce5c-8428-a51bacc04c0f
Run4) 66a22485-7e5f-e5c2-a317-c1b295bf124f
它似乎正在为整个字符串返回随机字符。根据维基百科的定义,其形式应为:
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxx,具有任意十六进制数字表示x,但仅8、9、A或B中的一个表示y
任何意见都将不胜感激
问候
Daniellibuuid似乎没有遵守ITU的建议,你说得很对。。。可以说,该建议本身在保留版本信息方面过于迂腐,因为除了允许technorati轻松区分UUID是如何生成的之外,它几乎没有什么作用,但这与问题无关
好消息是,如果您愿意的话,您可以通过简单的权宜之计,将正确的版本位粉碎,轻松地将它们制作成一致的UUID。:-) 谢谢你的快速回复!我也在考虑“粉碎”版本碎片。。。有点像黑客但是。。。
Run1) 2e9dc3c5-426a-eea0-8186-f6b65b5dc361
Run2) 112c6a78-51bc-cbbb-ae9c-92a33e1fd95f
Run3) 5abd3d6d-0259-ce5c-8428-a51bacc04c0f
Run4) 66a22485-7e5f-e5c2-a317-c1b295bf124f