我需要在安装应用程序时为设备生成唯一的ID,并将此值存储在设备上,然后需要使用此UUID与服务器进行通信。NSSUUD似乎适合于测试,但我很困惑,是否有可能从多个设备复制UUID。我已经找到了答案https://stackoverflow.com/a/6963990/1573209,它描述了版本1使用MAC地址和60位时钟来生成UUID,所以复制的机会是可以忽略的。其中,由于Version4使用了一些固定数和一些随机数来生成UUID,而文档表示UUIDs created by NSUUID conform to RFC 4122 version 4 and are created with random bytes
这是否意味着复制的可能性更高?那么我如何使用版本1类型的UUID生成器,我看不到它的任何文档。
发布于 2016-02-09 07:29:34
你可以看看这个RFC 4122。符合RFC 4122的UUID在给定的空间和时间内实际上是唯一的。您还可以看到重复随机UUID概率。
在总共128位中,2位表示一个RFC 4122 ("Leach-Salz") UUID,4位表示“随机生成”(0100表示“随机生成”),因此随机生成的UUID有122位随机位。使用概率论(生日问题)可以计算具有相同值的两个这样的UUIDs的概率。在计算n个UUID(x= 122 )后,意外冲突的概率非常接近于零。
对于68,719,476,736的n=2^36,碰撞概率为0.0000000000000004。对于n的较小值,这个值将更少,并且随着UUID的生成越多,概率就越大。在上述估计中,n表示产生的UUID数。
https://stackoverflow.com/questions/35286072
复制相似问题