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. python爬虫多线程是什么意思_python爬虫中多线程的使用详解
  2. 【VS开发】【C++语言】reshuffle的容器实现算法random_shuffle()的使用
  3. idea gui插件_给 IDEA 换了酷炫的主题,研发小姐姐看到:feel so high。。。
  4. java面试 数据库连接池_阿里面试官:数据库连接池有必要吗?你对它的底层实现了解过没?...
  5. 北漂多年 ,雷军终于买房了:壕掷52亿元!
  6. 加密软件pgp 使用教程
  7. 全网最全的AItium Designer 16下载资源与安装步骤
  8. 东方联盟郭盛华:物联网安全是供应链问题
  9. 【数论】【不定方程】n元一次不定方程、佩尔方程、毕达哥拉斯定理、费马大定理
  10. nsis 安装 vcredist_x86
  11. 在chrome浏览器中屏蔽CSDN页面中的广告
  12. 【区块链 | Compound】4.剖析DeFi借贷产品之Compound:清算篇
  13. greenplum官方监控工具 GPCC 安装、升级、卸载
  14. 容器高度或者宽度的获取方式
  15. R | 可视化 | 气泡图(Bubble Plot)
  16. 电子信息工程求职目标_应用电子专业求职信范文合集6篇
  17. 预测大盘最准确的指标_杨守东:自己用多年预测大盘顶底指标公式
  18. MIT-BIH心律失常数据库介绍
  19. 视频伪原创软件,这样处理或许更加简单
  20. MayaMel:UI—窗口简介

热门文章

  1. 微信信息处理 微信公众平台开发教程(1)
  2. 竞赛中常用的Python 标准库
  3. 支持向量机SVM算法原理笔记2
  4. 反编译Delphi软件DEDE的使用
  5. 利用Oracle分区表来减少磁盘I/O冲突
  6. 输电线路状态监测装置通用技术规范即I1协议
  7. JimuReport积木报表1.3.1 beta版本发布,免费的Web报表工具
  8. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、自定义为指定的分列因子添加分组标签、编写自定义函数指定统计量的呈现方式
  9. Python 调用 Outlook 发送邮件
  10. <Linux常用开发工具使用(yum、vim、gcc/g++、gdb、make/Makefile等)>——《Linux》