国际移动用户识别码(IMSI) International Mobile Subscriber Identity
国际上为唯一识别一个移动用户所分配的号码。
从技术上讲,IMSI可以彻底解决国际漫游问题。但是由于北美目前仍有大量的AMPS系统使用MIN号码,且北美的MDN和MIN采用相同的编号,系统已经无法更改,所以目前国际漫游暂时还是以MIN为主。其中以O和1打头的MIN资源称为IRM(International Roaming MIN),由IFAST (International Forum on ANSI-41 Standards Technology)统一管理。目前联通申请的IRM资源以09打头。可以看出,随着用户的增长,用于国际漫游的MIN资源将很快耗尽,全球统一采用IMSI标识用户势在必行.
IMSI共有15位,其结构如下:
MCC+MNC+MIN
MCC:Mobile Country Code,移动国家码,共3位,中国为460;
MNC:Mobile Network Code,移动网络码,共2位,联通CDMA系统使用03,一个典型的IMSI号码为460030912121001;
MIN共有10位,其结构如下:
09+M0M1M2M3+ABCD
其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。
可以看出IMSI在MIN号码前加了MCC,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个CDMA运营商,可以通过MNC来进行区别.
IMSI 号 可以通过 System.getProperty("com.sonyericsson.sim.subscribernumber") 得到。但是通过System.getProperty("com.sonyericsson.sim.subscribernumber") 获得的是一个 40 位的字符串,跟标准的 IMSI 不一样。这是处于对用户的安全考虑,我们读出来并未将其解密。运营商是有权限解开的。
另外,用户也可以通过 “com.sonyericsson.sim.imsi”或者“com.nokia.mid.imsi”获得。但前提条件是该应用必须获得operator or manufacturer域的签名。而目前中国没有Operator的签名权限,因此无法获得(除非应用获得手机厂商的签名)。所以,这也是我们希望中国的运营商能够早日拥有自己的签名的原因之一。
分享到:
相关推荐
1. **IMSI**:IMSI是手机用户在全球范围内的唯一标识,由移动运营商分配。通常,IMSI在应用中并不直接获取,因为出于隐私和安全考虑,Android系统对此进行了限制。开发者可以尝试通过`SubscriptionManager`类获取SIM...
Android 平台获取手机 IMSI、IMEI、序列号和手机号的方法 Android 操作系统提供了多种方法来获取手机的 IMSI、IMEI、序列号和手机号,这些信息对于移动应用程序的开发和维护非常重要。本文将详细介绍 Android 平台...
本文将详细介绍如何使用Objective-C编程语言获取iPhone的IMSI序列号,并通过该序列号获取运营商和手机号码。 首先,让我们来看看如何使用Objective-C获取iPhone的IMSI序列号。在iOS系统中,IMSI信息通常是私有的,...
Android平台获取手机IMSI、IMEI、序列号及手机号的用法 在 Android 平台中,获取手机的 IMSI、IMEI、序列号及手机号是非常重要的,以下将详细介绍如何获取这些信息。 1. 获取运营商 SIM 卡 IMSI 号 使用 `android...
总的来说,"手机IMSI读取查询工具"可能是一个用于获取手机IMSI信息的应用,但其具体实现方法未知,因为未提供源代码。对于开发者和安全研究人员来说,理解IMSI的重要性,以及如何在遵循隐私和安全原则的前提下操作它...
双卡双待手机, 获取IMSI 使用了反射,兼容mtk展讯高通不同的芯片 一般手机都能够获取成功 没有高通手机,所以高通的没有亲测 谁测通了评论中回复一下哦
通过手机IMSI分析,得到手机号码前7位.
IMSI获取 安卓手机IMSI 和IMEI获取,安装后打开即可看到
每个手机号都有IMSI号 安卓iOS都可以获取 可以通过IMSI号获取手机号前七位 , 可以的到手机号省 , 市信息
INSERT INTO `tab_imsi` VALUES ('1', '0771', '广西 南宁市', '1330000', '电信CDMA卡', '530000'); INSERT INTO `tab_imsi` VALUES ('2', '023', '重庆', '1330002', '电信CDMA卡', '400000'); INSERT INTO `tab_...
在Android中,获取IMSI的方式比获取IMEI更为复杂,因为出于隐私保护,需要特殊的权限。如果你的应用需要访问IMSI,必须在AndroidManifest.xml文件中声明`READ_PHONE_STATE`权限: ```xml ``` 然后在获取IMSI时,...
### 不同手机设备获取IMSI方法详解 #### 一、引言 国际移动用户识别码(International Mobile Subscriber Identity,简称IMSI)是用于唯一标识移动网络中的每一个用户的数字编码。通常,IMSI由运营商在SIM卡中存储...
总的来说,双卡手机获取IMSI是一个涉及到硬件、操作系统和软件开发的综合问题。对不同手机芯片的兼容性处理,以及在保证用户体验的同时遵守隐私法规,都是开发者需要考虑的重要因素。通过深入理解各芯片厂商的API和...
IMEI是手机设备的唯一识别码,而IMSI则是移动网络用户的身份标识。在C#编程环境下,如果你需要在Windows Phone或者某些特定的Android设备上获取这些信息,通常会涉及到与设备硬件交互的部分。以下将详细讲解如何在C#...
7. **Sim卡类型的获取**:获取SIM卡类型通常需要硬件级别的支持,例如通过Android的`TelephonyManager`类可以获取到SIM卡的IMSI(国际移动用户识别码),然后通过解析IMSI前几位判断SIM卡类型。但这通常只适用于移动...
android--获取手机的IMSI码,并判断是中国移动中国联通中国电信
对应的文档(源代码)如下: http://blog.csdn.net/a_flying_bird/article/details/38309021
资源只包含读取imsi文件的apk,没有源码,有兴趣的同学可以试试能不能读取源代码
在Android平台上,获取手机硬件信息是一项常见的任务,这对于开发者来说尤其重要,因为它可以帮助他们了解设备的特性,并根据这些信息优化应用程序。以下是一些关键的知识点,涵盖了如何在Android中获取描述中提到的...