【发布时间】:2011-04-28 16:04:41
【问题描述】:
Apple 的移动设备(iPhone、iPod touch 等)的唯一设备 ID (UDID) 是否在全球范围内都是唯一的,甚至跨供应商也是如此?或者是否有可能某些 HTC 手机具有相同的 id?
当您想要在服务器端过滤掉重复的请求时,这对于多平台应用程序很重要。所以请求必须跨平台是唯一的,我想确保 Apple 的 UDID 在这种情况下就足够了。
【问题讨论】:
标签: iphone ios ipod-touch udid
Apple 的移动设备(iPhone、iPod touch 等)的唯一设备 ID (UDID) 是否在全球范围内都是唯一的,甚至跨供应商也是如此?或者是否有可能某些 HTC 手机具有相同的 id?
当您想要在服务器端过滤掉重复的请求时,这对于多平台应用程序很重要。所以请求必须跨平台是唯一的,我想确保 Apple 的 UDID 在这种情况下就足够了。
【问题讨论】:
标签: iphone ios ipod-touch udid
UDID 是 Apple 的东西......所以你不会在 HTC 手机上找到它。
您可以使用 Python 计算它。我不知道我从哪里得到的来源,但它在这里
import hashlib
serial="" #go to your iphones Settings - General -About
imei="" #go to your iphones Settings - General -About
wifi_mac="" #go to your iphones Settings - General -About - Wifi Mac
blue_mac="" #go to your iphones Settings - General -About - Bluetooth Mac
udid=hashlib.sha1(serial.upper()+imei+wifi_mac+blue_mac).hexdigest()
print udid
如果您想要一些独特的东西,我建议您在第一次运行时在设备上生成并存储一个 uuid,如果它对您来说足够的话。 (如果有人删除并重新安装应用程序会改变,但不会有两个设备具有相同的id)
【讨论】:
也许您可以将 UDID 与设备 MAC 配对,其中前 24 位是vendor-specific。您可能会在越狱的 iPhone 或 root 的 Android 设备上欺骗 MAC,但它可以帮助减少重复的可能性。
【讨论】: