9

你知道OpenUDID是如何生成唯一设备 ID 的吗?
有没有可能 2 台设备具有相同的OpenUDID值?

编辑1:

设备重置时 OpenUDID 会改变吗?

编辑2:

如果可能发生冲突,是否有任何替代 OpenUDID 可以更好地工作的方法。

4

5 回答 5

4

如果只有一种方法可以查看源代码...

// Next we try to use an alternative method which uses the host name, process ID, and a time stamp
// We then hash it with md5 to get 32 bytes, and then add 4 extra random bytes
// Collision is possible of course, but unlikely and suitable for most industry needs (e.g.. aggregate tracking)
于 2012-03-27T16:27:47.233 回答
3

根据这个OpenUDID 的工作方式是这样的:

从技术上讲,OpenUDID 混合使用本地应用存储来进行缓存和保护,以及应用间存储(iOS 上的自定义粘贴板)。这意味着该系统是去中心化的,既不受 Apple 控制,也不受其他任何人控制。使用的 OpenUDID 越多,它就越健壮、流行和防篡改。

除此之外,OpenUDID 的外观和感觉与本机 UDID 相同,即 40 个字符长的十六进制字符串。例如:

369416e16c373b617b2e4d151e01244c748c7b3e

我希望这有帮助

于 2012-03-27T16:27:52.500 回答
3

那么这真的不适合使用 UDID 作为登录标识符的应用程序。如果您必须恢复您的设备,那么 UDID 将会不同,而 Apple 的 UDID 是实际手机的一部分,并且会持续恢复。

这实际上更像是供广告商使用的 cookie .. 它不必 100% 准确,只需大部分准确即可。

于 2012-06-07T17:13:56.340 回答
3

它本质上是一个 160 位的随机字符串。所以有 2^160 种组合。所以很难得到两个相同的

于 2012-03-27T16:33:17.717 回答
0

阅读此唯一标识符开发人员指南

当 iOS 5 发布并且 uniqueIdentifier 被弃用时,人们急于寻找不受 Apple 控制的 UDID 替代方案。OpenUDID 似乎是使用最广泛的开源 UDID 替代方案。OpenUDID 在您的项目中实现起来非常简单,并得到大量广告提供商的支持。

NSString *openUDID = [OpenUDID value];

OpenUDID 使用一种非常聪明的方法来跨应用程序持久化标识符。它使用特别命名的粘贴板来存储标识符。这样,也使用 OpenUDID 的其他应用程序知道去哪里查找,并且可以获取已经生成的标识符而不是生成新的标识符。

于 2014-07-18T05:09:54.773 回答