ios - iOS 8 和 iOS 7 的 UDID 替换

标签 ios objective-c uniqueidentifier

我正在寻找适用于 iOS 7 和 iOS 8 的 UDID 替代品,我查看了 MobileGestalt.h 并找到了“DieID”。这在没有越狱和两个 iOS 版本上都是可读的。重新安装应用程序后,数字相同。所以我觉得它很独特?

我的问题是“DieID”是否对所有设备都是唯一的? “DieID”到底是什么,我找不到任何相关信息。

谢谢,大卫

最佳答案

DieID是基带芯片标识符,在UDID流程和SHSH签名流程(ECID/UniqueChipID)中都会用到。

它可能只是每个芯片制造商唯一的,并且显然具有较小的 namespace 。 “UDID”实际上是序列号、ECID(DieID)、wifi和蓝牙mac地址串联的SHA1十六进制。

ecid = 17592186044415 #=> 0xFFFFFFFFFFF [DieID/UniqueChipID]
serial = "ZZZZZZZZZZZZ"
bluetooth = "ff:ff:ff:ff:ff:ff"
wifi = "ff:ff:ff:ff:ff:ff"

udid = Digest::SHA1.hexdigest(serial + ecid.to_s + wifi + bluetooth)
#=> 26063df5d4741b7fe668d79e0263a1bc01af3e0a

正因为如此,它对设备识别没有那么大的用处,因为它没有那么大的命名空间并且需要使用私有(private) API;但它在某些企业环境中可能很有用——例如,客户在 MDM 注册过程中保密。

关于ios - iOS 8 和 iOS 7 的 UDID 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25445605/

相关文章:

iOS UITableView 仅对第一个可见单元格进行动画处理

ios - 为什么我不能使用 prepareForSegue 传递值?

iphone - Authorize.net ios Sdk 错误

php - 如何生成随机、唯一的字母数字字符串?

唯一的、数字的、递增的标识符

ios - swift 3 中的自动标签高度

ios - 如何遍历可编辑的 UITextView 字符串以检查 Swift 中的某些单词

ios - Ionic 无法从应用程序打开 Facebook 个人资料页面

iphone - 我如何将 NSTimeInterval 定义为 mm :ss format in iphone?

sql-server - 如何在共享数据库上同时生成唯一的用户名?