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. Future接口和Callable接口以及FeatureTask详解

    类继承关系 Callable接口 @FunctionalInterface public interface Callable<V> { V call() throws Exception ...

  2. Gen对于break、continue与return的处理

    void tryItOut () {} void wrapItUp () {} void tryFinally() { for (int i = 0; i < 2; i++) { try { t ...

  3. 轻量级web富文本框——wangEditor使用手册(4)——配置下拉菜单 demo

    最新版wangEditor: 配置说明:http://www.wangeditor.com/doc.html demo演示:http://www.wangeditor.com/wangEditor/d ...

  4. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二):数据库设计

    数据库设计 系统主要包含用户(sys_user).组织(sys_dept).角色(sys_role).菜单(sys_menu).角色组织(sys_role_dept).角色菜单(sys_role_me ...

  5. Linux-(type,vim)

    type命令 1.命令格式: type [参数][命令] 2.命令功能: 使用 type 命令轻松找出给定的命令是否是别名.shell 内置命令.文件.函数或关键字.也可以找到命令的实际路径. 3.命 ...

  6. 如何精准实现OCR文字识别?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云计算基础发表于云+社区专栏 前言 2018年3月27日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云OCR文字识别-- ...

  7. UEFI+GPT与BIOS+MBR各自有什么优缺点?

    1.分区数量上,gpt好像可以支持无限个分区,不过window上只认128个,而且gpt分区不分主分区,逻辑分区,可以理解为全部都是主分区,就相当于可以允许你一个分区一个系统,128个系统了.而这是m ...

  8. .3-浅析express源码之applicaiton模块(2)-app.render

    这个模块还漏了一个稍微复杂点的API,就是app.render,首先看官网的定义: app.render(view, [locals], callback) view为对应的文件名,locals为一个 ...

  9. [转]Build beautiful, responsive sites with Bootstrap and ASP.NET Core

    本文转自:https://docs.microsoft.com/en-us/aspnet/core/client-side/bootstrap?view=aspnetcore-2.1 Bootstra ...

  10. 无责任Windows Azure SDK .NET开发入门篇(一):开发前准备工作

    Windows Azure开发前准备工作 什么是 Azure SDK for .NET?微软官方告诉我们:Azure SDK for .NET 是一套应用程序,其中包括 Visual Studio 工 ...