imei、imsi是大部分应用自动采集的设备信息,Android中需要在MINIFEST声明权限,6.0以上手机还需要用户显示授权才可以正常获取。这两个标识有什么区别、联系?为什么应用这么执着于采集这两个信息呢?

imei

IMEI(International Mobile Equipment Identity,国际移动设备标识),imei与手机绑定。由15位数字组成,与每台移动设备一一对应,且该码全世界唯一。
imei结构:

TAC+FAC+SNR+SP

  • TAC(Type Approval Code):6位,型号核准号码,代表机型。
  • FAC(Final Assembly Code):2位,最后装配号,代表产地。
  • SNR(Serial Number):6位,出厂序号、串号,代表生产顺序号。
  • SP:1位,由厂家出厂设置,是校验码。
  • 手机imei查看:****#06#****
  • imei由GSMA协会统一规划,并授权各地区组织进行分配。
  • imei和imsi存在一一对应关系,所以双卡双待手机有两个imei。

imsi

imsi(International Mobile Subscriber Identification Number)国际移动用户识别码,是区别移动用户的标识,存储在SIM(Subscriber Identity Module,用户识别模块)卡或者USIM(Universal Subscriber Identity Module,全球用户身份模块)中。 长度不超过15位,由0-9数字组成。
imsi结构:

MCC+MNC+MSIN

  • MCC(Mobile Country Code,移动国家码):移动用户所属国家代号。MCC的资源由国际电信联盟(ITU,International Telecom Union)在全世界范围内统一分配和管理,唯一识别移动用户所属国家。MCC共3位,中国是460.
  • MNC(Mobile Network Code,移动网号码):用于识别用户所属移动通信网,2-3位。同一个国家内,如果有多个PLMN(Public Land Mobile Network,一般某个国家的一个PLMN对应一个MNC),可以通过MNC区分。
    中国移动:00、02、04、07
    中国联通:01、06、09
    中国电信:03、05、11
    中国铁通:20
  • 业务中,一般使用MCC、MNC判断用户所属网络,也是智能DNS线路切换依据
    全球各国MCC、MNC参考
  • MSIN(Mobile Subscriber Identification Number,移动用户识别码)用于识别某一移动网络中的具体用户。共10位。结构如下:

    EF+M0M1M2M3+ABCD

    • 其中,EF由运营商分配,M0M1M2M3和MDN(Mobile Directory Number,移动号码簿)中的H0H1H2H3可以存在对应关系,ABCD则是自由分配的四位。
    • MSISDN(Mobile Station International Subscriber Directory Number)即手机号码。
  • IMSI是在GSM(Global System of Mobile Communications,全球移动通信系统)的唯一识别码,在全网和全球范围统一。IMSI相同的SIM卡、USIM卡可能是非法制造出来的。

imei和imsi的更多相关文章

  1. 关于android各种双卡手机获取imei,imsi的处理(mtk,展讯,高通等)

    目前国内对于双卡智能手机的需求还是很大的,各种复杂的业务会涉及到双卡模块:而android标准的api又不提供对双卡的支持.导致国内双卡模块标准混乱,各个厂商各玩各的.目前我知道的双卡解决方案就有:m ...

  2. 获取sim 卡的IMEI 和 IMSI

    IReadOnlyList<string> networkAccIds = Windows.Networking.NetworkOperators.MobileBroadbandAccou ...

  3. 【Android】如何获取本机号码、IMSI、EMSI

    获取本机号码: 获取本机号码,需要在配置文件中加入权限: <uses-permission android:name="android.permission.READ_PHONE_ST ...

  4. IMEI手机串码和serialno

    IMEI 1.IMEI是什么 国际移动设备识别码(International Mobile Equipment Identity number,IMEI),俗称“手机串号”.“手机串码”.“手机序列号 ...

  5. uni-app开发经验分享十二: Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息

    Android平台从6.0(API23)开始系统对权限的管理更加严格,所有涉及敏感权限都需要用户授权允许才能获取.因此一些应用基础业务逻辑需要的权限会在应用启动时申请,并引导用户允许. 读写手机存储权 ...

  6. Android 获取可靠的手机编码

    项目中出现了将设备和用户信息进行绑定的需求.最先想到的是IMEI串码和IMSI串码.手机登陆的时候一直都没有问题.换了一个平板中之后IMEI和IMSI串码都获取不到了.后来查了一下原因,是因为平板上是 ...

  7. Android软件安全开发实践(下)

    Android开发是当前最火的话题之一,但很少有人讨论这个领域的安全问题.本系列将分两期,探讨Android开发中常见的安全隐患和解决方案.第一期将从数据存储.网络通信.密码和认证策略这三个角度,带你 ...

  8. Java_HttpURLConnection使用

    包括使用HttpURLConnection执行get/post请求 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...

  9. android获取手机信息大全

    IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...

随机推荐

  1. Anaconda 科学计算环境与包的管理

    相信大多数 python 的初学者们都曾为开发环境问题折腾了很久,包管理和 python 不同版本的问题,特别是 window 环境安装个 scrapy 各种报错 ,使用 Anaconda 可以很好的 ...

  2. win10上Tensorflow的安装教程

    这几天打算自己入门学习机器学习的内容,首先要安装Tensorflow. 自己捣鼓了几天才捣鼓出来.可能真的是比较笨orz 现在试试写一个教程,希望可以帮到迷路滴孩子们! 大体地说四步: 安装pytho ...

  3. Spring Boot使用JWT实现系统登录验证

    简介 什么是JWT(Json Web Token) jwt是为了在网络应用环境间传递声明而执行的一种基于json的开放标准.该token被设计紧凑且安全的,特别适用于SSO场景.jwt的声明一般被用来 ...

  4. rabbitmq 部署(二进制和rpm)与常用命令

    目录 一 rabbitmq 简介 二 erlang 安装 三 rabbitmq rpm安装 (二进制安装和rpm安装二选一) 四 rabbitmq 二进制安装(rpm 安装和二进制安装二选一) 五 初 ...

  5. mysql数据库中实现内连接、左连接、右连接

    原文:http://www.cnblogs.com/xwdreamer/archive/2010/12/15/2297058.html 内连接:把两个表中数据对应的数据查出来 外连接:以某个表为基础把 ...

  6. 厌倦了“正在输入…”的客服对话,是时候pick视频客服了

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 什么?! ...

  7. QT 手式编译步骤

    1: qmake -project 2: qmake 3: make 4: ./执行

  8. springboot redis 缓存跨域丢失问题

    对于前后端分离的项目,在开发阶段经常会遇到跨域的问题. 1.首先,对于后台的处理方式,第一种是用 @CrossOrigin 注解,@crossorigin是后端SpringMVC框架(需4.2版本以上 ...

  9. mysql LAST_INSERT_ID详解

    http://blog.sina.com.cn/s/blog_5b5460eb0100nwvo.html LAST_INSERT_ID() LAST_INSERT_ID(expr) 自动返回最后一个I ...

  10. [NOI 2016]网格

    Description 题库链接 给出一张 \(n\times m\) 的网格,在其中删去 \(c\) 个格子,问至少再删去几个能使得图上存在两点不连通,或输出无解. 多组询问,询问组数 \(T\) ...