Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
solaris上的uuid_生成随机(libuuid) 我有一个简单的C++函数,它调用“uuIDiGeaTythOrthRead”。生成的UUID似乎不符合标准(UUID版本4)。有什么想法吗_C++_Uuid - Fatal编程技术网

solaris上的uuid_生成随机(libuuid) 我有一个简单的C++函数,它调用“uuIDiGeaTythOrthRead”。生成的UUID似乎不符合标准(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

我使用的代码是(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) 66a22485-7e5f-e5c2-a317-c1b295bf124f
它似乎正在为整个字符串返回随机字符。根据维基百科的定义,其形式应为:

xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxx,具有任意十六进制数字表示x,但仅8、9、A或B中的一个表示y

任何意见都将不胜感激

问候
Daniel

libuuid似乎没有遵守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