Apple 的移动设备(iPhone、iPod touch 等)的唯一设备 ID (UDID) 是否在全球范围内都是唯一的,甚至跨供应商也是如此?或者是否有可能某些 HTC 手机具有相同的 id?
当您想要在服务器端过滤掉重复的请求时,这对于多平台应用程序很重要。所以请求在平台上必须是唯一的,我想确保 Apple 的 UDID 在这种情况下就足够了。
Apple 的移动设备(iPhone、iPod touch 等)的唯一设备 ID (UDID) 是否在全球范围内都是唯一的,甚至跨供应商也是如此?或者是否有可能某些 HTC 手机具有相同的 id?
当您想要在服务器端过滤掉重复的请求时,这对于多平台应用程序很重要。所以请求在平台上必须是唯一的,我想确保 Apple 的 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 位是特定于供应商的。您可能会在越狱的 iPhone 或有根的 Android 设备上欺骗 MAC,但它可以帮助减少重复的可能性。