`
alexlikeask
  • 浏览: 10243 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于J2ME获取手机IMSI和IMEI的方法

阅读更多

最近,公司新上了一个项目,这个项目在安全性方面要求的比较高,所以在程序中要用到手机的IMEI和SIM卡的IMSI来对用户的身份进行验证。

  先解释一下IMSI和IMEI的区别:

 

IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。


IMSI:国际移动用户识别码(IMSI) international mobile subscriber identity,国际上为唯一识别一个移动用户所分配的号码。


  IMSI共有15位,其结构如下:


  MCC+MNC+MSIN


  MCC:Mobile Country Code,移动国家码,共3位,中国为460;


  MNC:Mobile Network Code,移动网络码,共2位,中国电信CDMA系统使用03,一个典型的IMSI号码为460030912121001;


  MSIN:Mobile Subscribler Identification Number共有10位,其结构如下:


  09+M0M1M2M3+ABCD


  其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。


  可以看出IMSI在MIN号码前加了MCC,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个CDMA运营商,可以通过MNC来进行区别.

虽然看到上面的介绍,大家都已经知道IMEI和IMSI对于手机和手机SIM卡都是唯一的,并且依靠这两个参数来对用户的信息进行验证是完全可行的,但问题就是出现在这些美丽的外表之下的。

由于J2ME开发的应用程序要完全依赖于手机内置的KVM(J2ME虚拟机),又因为每个手机制造商的虚拟机提供给J2ME程序的可用接口不尽相同,所以,J2ME程序能否正确的获取手机的IMSI和IMEI,完全依赖于手机制造商底层的实现。

下面举几个获取手机IMEI和IMSI的例子;

LG  String imei = System.getProperty("com.lg.imei");

          String imsi=System.getProperty("com.lg.imsi");

SAMSUNG

      String imei = System.getProperty("system.imei");

          String imsi=System.getProperty("system.imsi");

NOKIA

      String imei = System.getProperty("com.nokia.mid.imei");

          String imsi=System.getProperty("com.nokia.mid.imsi");

上面NOKIA获取IMSI的方法我用红色注释了一下,因为,NOKIA对J2ME程序权限的不是很开放,所以,尽管有这个方法,但是,你还是无法获取NOKIA手机平台上的IMSI号码,

我们来看看NOKIA官方是如何说的

The IMSI (International Mobile Subscriber Identity) stored in the SIM card. For more information on IMSI, see IMSI in Wikipedia. Note that the access to this system property is limited with com.nokia.mid.mobinfo.IMSI permission. By default, this permission is available only in manufacturer and operator domain.


这回可以知道,无论说是S60,还是S40平台只有NOKIA和运营商才有权限获取这两个字符串,

由于市场上NOKIA的手机占有率非常的高,尤其是S40的平台开发的中低端机型为最多,所以放弃这些机型是不现实的,所以大家如果要做一个安全的验证的时候,获取手机的IMSI和IMEI只是一个备选方案,大家还应该研究另一套可行性较高的方案。


好了,最后在把J2ME平台获取手机本机电话号码的方法和大家说一下,因为在网上看到有些网友把获取手机号码的方法都贴了来。大家不要相信这些方法的可行性,因为在J2ME上获取手机的PHONENUMBER是不能的事情。在不发短信和不拨打电话的情况下,只有用户通过CMWAP上网的时候,移动的WAP网关才有可能获取手机的电话,至于你怎么获得,那开始要看运营商的脸色,呵呵,好了就说这么多了,如果说的哪里不对,还请大家指点。

 

注:下面的这个地址是我在CSDN上的博客,欢迎大家有空去坐坐。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/AlexZheng_Blog/archive/2010/02/03/5283667.aspx

1
0
分享到:
评论
2 楼 C_J 2011-01-19  
难怪我老获取不到NOKIA的IMSI,做定位有点难度了~
1 楼 wuhua 2011-01-19  
非常给力了

相关推荐

    j2ME 关于j2me的相关资料

    关于j2me的相关资料 ublic class Person implements KSerializable { private String _name; private String _answer; private String _userid;

    j2me手机浏览器/j2me手机浏览器

    j2me手机浏览器 j2me手机浏览器 j2me手机浏览器

    关于J2ME手机碰撞问题

    关于J2ME的手机编程 人物滚屏的碰撞问题的11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

    基于j2me的手机游戏开发

    基于j2me的手机游戏开发

    获取J2ME平台手机系统属性

    获取手机系统属性,适用于J2ME平台的手机。

    j2me开发手机游戏

    介绍J2ME如何开发手机游戏及其应用

    JAVA基于J2ME的手机游戏开发(论文+源代码)

    JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA基于J2ME的手机游戏开发(论文+源代码)JAVA...

    j2me混淆器安装与使用方法

    j2me混淆器安装与使用方法 j2me混淆器安装与使用方法

    JAVA基于J2ME的手机游戏开发(LW+源代码).zip

    JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的手机游戏开发(LW+源代码)JAVA基于J2ME的...

    JAVA基于J2ME的手机游戏开发(论文+源代码).rar

    JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) JAVA基于J2ME的手机游戏开发(论文+源代码) ...

    JAVA基于J2ME的手机游戏开发(Word论文+源代码)

    JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏开发(Word论文+源代码) JAVA基于J2ME的手机游戏...

    J2ME MIDP 手机游戏程序设计

    J2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏程序设计.isoJ2ME MIDP 手机游戏...

    j2me手机游戏,功能齐全

    j2me手机游戏 j2me手机游戏 j2me手机游戏 j2me手机游戏 j2me手机游戏j2me手机游戏 j2me手机游戏

    j2me编写手机RPG游戏

    初学者使用J2ME编写的手机RPG游戏,模仿梦幻西游编写,功能并不完善(可能还有些小BUG),源码非常适合初学者看。

    《J2ME手机游戏开发技术详解》

    《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》...

    JAVA基于J2ME的手机游戏开发(lw+源代码).rar

    JAVA基于J2ME的手机游戏开发(lw+源代码).rarJAVA基于J2ME的手机游戏开发(lw+源代码).rarJAVA基于J2ME的手机游戏开发(lw+源代码).rarJAVA基于J2ME的手机游戏开发(lw+源代码).rarJAVA基于J2ME的手机游戏开发(lw+源代码...

    j2me 飞机手机游戏

    j2me 飞机手机游戏 j2me 飞机手机游戏 j2me 飞机手机游戏 j2me 飞机手机游戏

    J2ME手机游戏开发引擎的分析与设计

    本文依照论文的格式编写,分析开发一个J2ME手机游戏引擎所需要的技术,开发价值等。 目录如下: 摘 要 I Abstract II 第1章 绪论 1 1.1 开发的目的和意义 1 1.2 与课题相关的国内外研究综述 1 1.3 本文的主要工作...

    J2ME 3D手机游戏开发详解 part3

    J2ME 3D手机游戏开发详解 完整版 分为3部分

Global site tag (gtag.js) - Google Analytics