Change Dir

          先知cd——熱愛生活是一切藝術的開始

          統計

          留言簿(18)

          積分與排名

          “牛”們的博客

          各個公司技術

          我的鏈接

          淘寶技術

          閱讀排行榜

          評論排行榜

          初探IMEI【譯】

          一直想清楚的理解IMEI是什么,但是怎么也找不到合適的下筆思路,最終還是把imei.org上的這篇介紹翻譯過來,做個記錄。

          原文地址:http://imei.org/2013/05/imei-number-decode/ 原文標題:What Is IMEI Number and How To Decode It

          譯文:

          你可能聽說過IMEI,也知道它是移動設備的標識ID,但是你知道它的具體功用嗎?IMEI自手機出產后就伴隨其一生,究竟什么是IMEI,如何理解它的數字含義?

          智能手機是全世界范圍內偷竊事件的“主角”,不要低估IMEI的重要性,把IMEI備份一下是一個明智的決定。本文會解釋為什么我們的手機需要IMEI,同時會列出如何找到并記錄IMEI的技術方法。

          IMEI是什么?

          IMEI的全稱是International Mobile Equipment Identity,每臺設備都必備的一個唯一標識,用來區分設備與設備。當你購買一臺新的手機設備時,你會在收據上看到IMEI;當你需要修理手機時,手機服務商可能會要求你提供IMEI。標準的IMEI是一個14位數字,同時也有IMEI/SV這樣的16位數字形式(僅新設備有),SV是由軟件設計的。當然蘋果的iPhone GSM有 15位數字,而CDMA是14位數字。不管如何,IMEI的設計動機不僅僅是一個ID標識,它也可以用來阻止網絡訪問,還可以用IMEI來進行運營商解鎖。

          如果你的手機失竊,你可以將情況上報到你的手機服務商,他們會阻止這臺手機進行一切的網絡訪問,同時警察也可以通過IMEI來識別丟失的設備。

          IMEI怎么查看?

          多數手機在你輸入撥號*#06#后就能看到IMEI了,當然也有其他的一些方法:

          • iOS:Settings->General->About(設置->通用->關于手機),這樣也可以看到有IMEI(需要自己下滑尋找)。iPhone手機同樣可以在sim卡托盤上找到IMEI,當然如果你不是使用原生的托盤就看不到了。
          • Android:Settings->About(設置->關于),這里可以看到IMEI,序列號和其他的信息。
          • 老的Sony或者索愛:輸入 * Right * Left Left * Left *
          • 新的索愛或者Blackberry:Options->Status(選項->狀態)

          你可以使用http://imei.org/check-iphone-carrier/ 服務通過輸入IMEI來獲得手機的運營商信息

          如何解釋IMEI:

          2004年以來,統一的IMEI格式為:AA-BBBBBB-CCCCCC-D,這是一個15位數字號,其中:

          • AA:兩位數字號,表示Reporting Body Identifier,用來表示由TAC(Type Allocation Code)分配的GSMA。
          • BBBBBB:TAC(FAC)的剩余部分。
          • CCCCCC:機器序列號(SNR)
          • D:Luhn 檢測位

          舉例來說,現在iPhone 5的TAC為01-332700,而三星的Galaxy S2為35-853704,而C部分的SNR是由手機制造商自定義的生產序列號,最后一位校驗位是通過算法來生成的。

          IMEI是手機相關的,與sim卡無關,當你的手機被偷后,無論手機重置還是更換sim卡,IMEI都是不變的,這時你是可以通過聯系你的手機服務商來鎖住手機的服務的。如果這行不通,可以聯系你所在地區的運營商來鎖定IMEI對于運營商網絡的訪問。

          有時候IMEI是變化的,盡管這不合法。有些竊賊有能力將合法的新的IMEI安裝到你的手機里從而重新啟用這個手機。另外鑒于犯罪動機,還有人會利用IMEI來監聽設備。

          綜上,IMEI是手機的重要的唯一性ID,你需要去備份并記住它。

          翻譯結束。

          最后附加一些說明。

          關于TAC:http://en.wikipedia.org/wiki/Type_Allocation_Code

          關于最后一位校驗位的算法和python code:

          以14位IMEI為例,校驗位假設是C

          1. 從后向前,記錄下每隔兩位的數字,記為列表A
          2. 從后向前,記錄下除A以外的數字,記為列表B
          3. 將A中的數字都乘以2,如果一個數字乘以2后大于10,那么把這個結果拆為兩個數字(個位數一個,十位數一個),記為列表A'
          4. 把A'和B中的所有數字求和,記為S
          5. 計算S*9%10,記為F,如果F等于C,校驗通過,否則IMEI有問題。
             1: if len(arg0)==15:
             2:             check_bit = int(arg0[-1])
             3:             i = len(arg0)-2
             4:             l,r = [],[]
             5:             while i>=0:
             6:                 m = int(arg0[i])*2
             7:                 if m<10:
             8:                     l.append(m)
             9:                 else:
            10:                     l.append(m%10)
            11:                     l.append(m/10)
            12:  
            13:                 r.append(int(arg0[i-1]))
            14:                 i-=2
            15:             l.reverse()
            16:             r.reverse()
            17:             if sum((sum(l),sum(r)))*9%10==check_bit:
            18:                 return True
            19:         return False

          posted on 2014-11-27 17:30 changedi 閱讀(8661) 評論(1)  編輯  收藏 所屬分類: 數據翻譯

          評論

          # re: 初探IMEI【譯】 2014-12-12 10:39 nieyong

          贊,希望可以看到更多翻譯文章,加油!  回復  更多評論   

          主站蜘蛛池模板: 天等县| 利川市| 丰城市| 金门县| 东乡族自治县| 汾阳市| 阜阳市| 屯门区| 上林县| 区。| 光山县| 志丹县| 广东省| 阿瓦提县| 寿光市| 洛川县| 平阳县| 沈丘县| 平罗县| 潼关县| 温泉县| 繁峙县| 深水埗区| 墨竹工卡县| 台南县| 铜山县| 天门市| 敖汉旗| 海兴县| 英吉沙县| 富顺县| 铜山县| 新田县| 宜兴市| 永川市| 丰原市| 淮北市| 湖南省| 卓尼县| 平泉县| 长汀县|