IMEI簡介:
IMEI(International Mobile Equipment Identity)是國際移動設備身份碼的縮寫,國際移動裝備辨識碼,是由15位數字組成的"電子串號",它與每台手機一一對應,而且該碼是全世界唯一的。每一只手機在組裝完成後都將被賦予一個全球唯一的一組號碼,這個號碼從生產到交付使用都將被制造生產的廠商所記錄。
IMEI俗稱“串號”,存儲在手機的EEPROM(俗稱“碼片”)裡,熟悉並了解這個號碼對我們今後識別手機會起到非常大的作用。首先TAC碼(IMEI的前六位數字)前三位在不同的時期會發生變化,過去的TAC碼前三位在現在的手機上不會出現。過去的一些老型號的手機基本上都是446/448開頭,如moto v328 nokia 7110,而且即使同一部手機在不同的時期也會有不同的TAC碼,如大家最熟悉的8210升級8250。如果前三位是448902就不能升級,因為CPU不同。因此過去所說的只要是同一型號的手機TAC碼一定一樣的說法是不夠准確的,再如愛立信的同一型號手機T39MC在不同地區的地方亦會有不同的號碼:大陸行貨為520406,香港則為520407。我們知道這些區別後就可以通過TAC碼來進行“設備識別”了,而不必去費心的去牢記IMEI的七、八位數字代表的產地。
IMEI分配:
IMEI碼由GSM(全球移動通信協會)統一分配,授權BABT(英國通信認證管理委員會)審受
IMEI的組成:
IMEI由15位數字組成,其組成為: 1、前6位數(TAC,Type Approval Code)是"型號核准號碼",一般代表機型
2、接著的2位數(FAC,Final Assembly Code)是"最後裝配號",一般代表產地
3、之後的6位數(SNR)是"串號",一般代表生產順序號
4、最後1位數(SP)通常是"0",為檢驗碼,目前暫備用。
IMEI碼具有唯一性,貼在手機背面的標志上,並且讀寫於手機內存中。它也是該手機在廠家的"檔案"和"身份證號"。
應用場景:
我們在應用程序需要對用戶提交的信息加密時,由於手機的IMEI號碼是唯一的(相當於身份證或者指紋的作用),所以我們進行加密的時候可以在需要加密的信息後加上手機的IMEI號碼,從而加大算法的復雜度.
Android 獲取 imei號碼
核心代碼:
Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
.getDeviceId();
1.加入權限
在manifest.xml文件中要添加:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2.代碼