Идентификаторы UDID для мобильных устройств Apple уникальны среди поставщиков? - PullRequest
0 голосов
/ 28 апреля 2011

Являются ли уникальные идентификаторы устройств (UDID) мобильных устройств Apple (iPhone, iPod touch и т. Д.) Глобально уникальными даже среди поставщиков?Или возможно, что некоторые телефоны HTC имеют такой же идентификатор?

Это важно для многоплатформенных приложений, когда вы хотите отфильтровать дублированные запросы на стороне сервера.Поэтому запрос должен быть уникальным для разных платформ, и я хочу убедиться, что в этом случае достаточно UDID от Apple.

Ответы [ 2 ]

2 голосов
/ 28 апреля 2011

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 на устройстве при первом запуске, если вам этого достаточно. (Это изменится, если кто-то удалит и переустановит приложение, но не будет двух устройств с одинаковым идентификатором)

0 голосов
/ 28 апреля 2011

Возможно, вы могли бы связать UDID с MAC-адресом устройства, первые 24 бита которого зависят от поставщика . Вы можете подделать MAC на взломанном iPhone или устройстве с root-доступом на Android, но это может снизить вероятность дублирования.

...