2019独角兽企业重金招聘Python工程师标准>>>

手机IMEI码由15-17位数字组成。

第一部分 TAC,Type Allocation Code,类型分配码,由8位数字组成(早期是6位),是区分手机品牌和型号的编码,该代码由GSMA及其授权机构分配。其中TAC码前两位又是分配机构标识(Reporting Body Identifier),是授权IMEI码分配机构的代码,如01为美国CTIA,35为英国BABT,86为中国TAF。

第二部分 FAC,Final Assembly Code,最终装配地代码,由2位数字构成,仅在早期TAC码为6位的手机中存在,所以TAC和FAC码合计一共8位数字。FAC码用于生产商内部区分生产地代码。

第三部分 SNR,Serial Number,序列号,由第9位开始的6位数字组成,区分每部手机的生产序列号。

第四部分 CD,Check Digit,验证码,由前14位数字通过Luhn算法计算得出。

第五部分 SVN,Software Version Number,软件版本号,区分同型号手机出厂时使用的不同软件版本,仅在部分品牌的部分机型中存在。

本站查询IMEI码仅需要输入前15位,软件版本号不需要输入。

http://www.imeidb.com/imei-structure

IMEI/MEID校验位计算

JAVA 实现 IMEI校验码算法

JAVA 批量生成IMEI 源代码

手机IMEI码规则及算法介绍

Luhn algorithm

检测无用imei号:

#coding:utf-8
__author__ = 'Mickel'
import sys
from pymongo import MongoClient
from pymongo.errors import DuplicateKeyErrordef checkLuhn(purportedCC=''):sum = 0parity = len(purportedCC) % 2for i, digit in enumerate([int(x) for x in purportedCC]):if i % 2 == parity:digit *= 2if digit > 9:digit -= 9sum += digitreturn sum % 10 == 0if __name__=="__main__":mode="aa"if mode=='DEV':print "测试 testing server importing."conn = MongoClient('xxx', 2777)db = conn.adrobot_v4else:print "正式 production server importing."conn = MongoClient('xxxx', 2777)db = conn.adrobot_v4db.authenticate("xx", "xx")collection = db.device#查询所有记录for data in collection.find():imei=data["_id"]if imei.isdigit() :flag=checkLuhn(imei)if flag==False:print imei,"  ",checkLuhn(imei)collection.remove({"_id":imei})else:print "包含字母"#sys.exit(2)# imei="A1000055BDB1AD"# print "A1000055BDB1AD".isdigit()# print checkLuhn(imei)

转载于:https://my.oschina.net/mickelfeng/blog/1552269

手机IMEI码规则介绍相关推荐

  1. IMEI码规则及校验算法

    注:本文章部分内容来自简书,请点击这里获取,侵删. 1. IMEI码规则 IMEI码由15-17位数字组成. ·第一部分 TAC,Type Allocation Code,类型分配码,由8位数字组成( ...

  2. xpose修改手机imei码,注入广告

      何为hook  Hook英文翻译过来就是"钩子"的意思,那我们在什么时候使用这个"钩子"呢? 我们知道,在Android操作系统中系统维护着自己的一套事件分 ...

  3. 知识普及:查询手机IMEI码

    点开电话,输入*#06# 手机IMEI码是什么? 国际移动设备识别码(International Mobile Equipment Identity number,IMEI),俗称"手机串号 ...

  4. 获取手机Imei码,手机号,IMSI标识

    1.设置权限< uses-permission android:name="android.permission.READ_PHONE_STATE" /> 2.手机im ...

  5. Android手机IMEI码结构说明

    手机IMEI码由15-17位数字组成: 第一部分 TAC,Type Allocation Code,类型分配码,由8位数字组成(早期是6位),是区分手机品牌和型号的编码,该代码由GSMA及其授权机构分 ...

  6. unity获取手机IMEI码

    1.Android小白的体会:unity获取Android手机的IMEI码 在AndroidStudio中的撸代码,如下: /*** 获取手机IMEI(需要"android.permissi ...

  7. 如何查询MOTO手机IMEI码和MSN码

    IMEI码,即International Mobile Equipment Identity number,中文名"国际移动装备辨识码",通常称作手机串号或手机序列号,用于在手机网 ...

  8. 手机IMSI码规则更新-通过IMSI判断运营商的方法

    ps:权限需要注意下: READ_PHONE_STATE 读取手机的状态权限可以通过查找TelephonyManager.有些方法需要权限,比如getLine1Number(),getSubscrib ...

  9. react-native 获取手机imei码

    作为一个小白,公司android app 项目,需求获取imei来保证安全信息,没办法苦逼的react-native开发开始了. 这里只讲reactnative  android  imei的获取,之 ...

最新文章

  1. iOS App与iTunes文件传输的方法和对iOS App文件结构的说明
  2. 您对光纤损耗了解多少?知道如何计算吗?
  3. 修改ALSM_EXCEL_TO_INTERNAL_TABLE的限制
  4. 关于计算机图形标准化的论述 哪个是正确的,地大《计算机图形学(新)》在线作业 参考资料...
  5. 如何将C语言翻译成汇编语言,如何把汇编语言转换成C语言
  6. 以串结构存储c语言版,数据结构C语言版 串的块链存储表示和实现
  7. spring思想分析
  8. layui让当前页面刷新_layui点击按钮页面会自动刷新的解决方案
  9. jmp怎么做合并的箱线图_Python数据可视化:箱线图多种库画法
  10. 火狐扩展教程_Firefox扩展模板
  11. jQuery百家姓验证
  12. 使用AOMEI无损数据的动态磁盘转基本磁盘
  13. Android 高通配置SUPL
  14. 由于找不到mfc100.dll,无法继续执行代码
  15. 51单片机usb烧录电路_51单片机怎么用usb烧写程序
  16. 入职阿里两年的工作总结
  17. ACK Acknowledgement 确认 AES Advanced Encryption Standard 高级加密标准 ATM Asynchronous Transfer Mode异步传输模式
  18. CAD常见问题之创建一个新的键盘快捷方式
  19. 昆石VOS3000_2.1.6.0.0一键安装教程
  20. 电子印章结构以及规范讲解

热门文章

  1. 广告数据组-常用id归纳
  2. 对接快递100快递管家API之授权接口
  3. arm开发板移植 curl
  4. 计算机辅助翻译何其莘在线阅读,何其莘教授为你揭秘《新概念英语》
  5. 500 lines web craw 读书笔记
  6. 【六种方案】【idea】最全解决IntelliJ IDEA控制台输出中文乱码问题
  7. lower_bound()和upper_bound()的简单讲解
  8. 自动驾驶感知——物体检测与跟踪算法|4D毫米波雷达
  9. JVM基础 之Java HotSpot虚拟机中的内存管理
  10. 一名大学毕业生的心酸求职历程全记录