菜鸟教程小白 发表于 2022-12-12 10:28:46

ios - NSUUID 复制机会形成不同的设备。


                                            <p><p>我需要在安装应用程序时为设备生成唯一 ID,并将此值存储在设备上,然后需要使用此 UUID 与服务器通信。看来<a href="https://developer.apple.com/library/prerelease/ios/documentation/Foundation/Reference/NSUUID_Class/index.html" rel="noreferrer noopener nofollow">NSSUUD</a>适合这种情况,但我很困惑是否有可能从多个设备复制 UUID。我已经找到答案了<a href="https://stackoverflow.com/a/6963990/1573209" rel="noreferrer noopener nofollow">https://stackoverflow.com/a/6963990/1573209</a>其中描述了版本 1 类型使用 MAC 地址和 60 位时钟生成 UUID,因此重复机会可以忽略不计。其中版本 4 使用一些固定数和一些随机数来生成 UUID,而 <a href="https://developer.apple.com/library/prerelease/ios/documentation/Foundation/Reference/NSUUID_Class/index.html" rel="noreferrer noopener nofollow">doc</a>表示 <code>由 NSUUID 创建的 UUID 符合 RFC 4122 第 4 版并且是用随机字节创建的</code></p>

<p>这是否意味着重复的机会更高?
那么如何使用版本 1 类型的 UUID 生成器,我看不到它的任何文档。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你可以看看这个<a href="https://www.rfc-editor.org/rfc/rfc4122" rel="noreferrer noopener nofollow">RFC 4122</a> .符合 RFC 4122 的 UUID 在给定的空间和时间实际上是唯一的。也可以看<a href="https://en.wikipedia.org/wiki/Universally_unique_identifier" rel="noreferrer noopener nofollow">Random UUID probability of duplicates</a> .</p>
<blockquote>
<p>Out of a total of 128 bits, two bits indicate an RFC 4122 (&#34;Leach-Salz&#34;) UUID and four bits the version (0100 indicating &#34;randomly generated&#34;), so randomly generated UUIDs have 122 random bits. The chance of two such UUIDs having the same value can be calculated using probability theory (birthday problem). Probabilities of an accidental clash after calculating n UUIDs, with x = 122 is found to be very close to zero</p>
</blockquote>
<p>对于 <code>n=2^36</code>,即 68,719,476,736,发现碰撞概率为 0.0000000000000004。对于较小的 n 值,该值将更小,并且随着生成更多 UUID 的概率增加。在上述估计中,n 表示生成的 UUID 的数量。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - NSUUID 复制机会形成不同的设备。,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35286072/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35286072/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - NSUUID 复制机会形成不同的设备。