Difference between revisions of "UDID"

From The iPhone Wiki
Jump to: navigation, search
m (long form was wrong)
(updated according to i0n1c's comment, content from dev wiki)
Line 6: Line 6:
 
The [[UDID]] is being calculated like this:
 
The [[UDID]] is being calculated like this:
 
*Create a 60-character long text string (see below)
 
*Create a 60-character long text string (see below)
*Calculate the {{wp|SHA-1|SHA1}} hash of the text string. The result is the [[UDID]].
+
*Calculate the [[wikipedia:SHA-1|SHA1]] hash of the text string. The result is the [[UDID]].
   
 
To create the 60-character long text string, append the following four strings:
 
To create the 60-character long text string, append the following four strings:
 
*11-character long '''serial number''' (letters in upper case)
 
*11-character long '''serial number''' (letters in upper case)
*15-character long '''IMEI number''' (without spaces)
+
*15-character long '''IMEI number''' (without spaces), empty string for iPod touch
*17-character long '''Wi-Fi MAC address''' (letters in lower case, including colons)
+
*17-character long '''Wi-Fi MAC address''' (letters in lower case, including colons), for the [[N45ap|iPod touch first generation]] use "00:00:00:00:00:00"
 
*17-character long '''Bluetooth MAC address''' (letters in lower case, including colons)
 
*17-character long '''Bluetooth MAC address''' (letters in lower case, including colons)
   
 
In short:
 
In short:
 
UDID = SHA1($serial + $IMEI + $WiFiMac + $BluetoothMac)
 
UDID = SHA1($serial + $IMEI + $WiFiMac + $BluetoothMac)
  +
  +
On the [[N92ap|Verizon iPhone 4]] and all currently available A5 and A5X devices it is instead computed with this formula:
  +
UDID = SHA1($serial + $ECID + $WiFiMac + $BluetoothMac)

Revision as of 19:12, 17 March 2012

UDID is the short form for Unique Device Identifier. It is a 40-character long hex value (20 bytes). The UDID is being used by developers to register devices for testing their Apps. Only on registered devices developers can run Apps that are not in Apple's AppStore yet. Also, beta firmware can be installed only on registered devices. Developers currently have 100 UDIDs they can register.

Instead of calculating the value, it can be read from iTunes, when the device is connected, by clicking on the text Serial Number.

Calculation

The UDID is being calculated like this:

  • Create a 60-character long text string (see below)
  • Calculate the SHA1 hash of the text string. The result is the UDID.

To create the 60-character long text string, append the following four strings:

  • 11-character long serial number (letters in upper case)
  • 15-character long IMEI number (without spaces), empty string for iPod touch
  • 17-character long Wi-Fi MAC address (letters in lower case, including colons), for the iPod touch first generation use "00:00:00:00:00:00"
  • 17-character long Bluetooth MAC address (letters in lower case, including colons)

In short:

UDID = SHA1($serial + $IMEI + $WiFiMac + $BluetoothMac)

On the Verizon iPhone 4 and all currently available A5 and A5X devices it is instead computed with this formula:

UDID = SHA1($serial + $ECID + $WiFiMac + $BluetoothMac)