读取SIM卡的一些信息用于PDA软件注册及安全使用
来源:互联网 发布:光州 知乎 编辑:程序博客网 时间:2024/05/16 07:11
最近从客户那边反应来一个需求,就是我们提交的软件中的PDA程序中的通讯录模块的信息安全方面做得不够,就是在如果PDA丢失时,这里的联系人信息就可能外泄。
所以就提出了以下的解决方案:
正常情况下,丢失后要更换SIM卡,无论是那一方。所以可通过重新注册新的SIM信息来验证是否可用。具体的方案细节就不详细说明了。其中技术方面关键的一环是如何识别唯一SIM卡。
刚开始是读取SIM卡的本机号码,从http://www.microsoft.com/china/msdn/archives/library/dnnetcomp/html/netcfPhoneAPI.asp这篇<<从Microsoft .NET Framework 精简版访问电话API>>文章提供的示例中封装的Sim类中就有提供一个Sim.GetPhoneNumber()方法方便获取本机号码。
但是考虑到这个号码是可修改的且可以有很多个(通过PDA中提供的SIM管理器就可以修改)。所以得找其它的SIM卡信息,在这里用的是SIM卡中IMEI,IMSI(国际移动设备识别码(IMEI:International Mobile Equipment Identification Number)是区别移动设备的标志,储存在移动设备中,可用于监控被窃或无效的移动设备。IMEI组成如下图所示,移动终端设备通过键入“*#06#”即可查得。其总长为15位,每位数字仅使用0~9的数字。其中TAC代表型号装配码,由欧洲型号标准中心分配;FAC代表装配厂家号码;SNR为产品序号,用于区别同一个TAC和FAC中的每台移动设备;SP是备用编码。
国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。IMSI组成如下图所示,其总长度不超过15位,同样使用0~9的数字。 其中MCC是移动用户所属国家代号,占3位数字,中国的MCC规定为460;MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网;MSIN是移动用户识别码,用以识别某一移动通信网中的移动用户。)
读取这两个号码用到TAPI的lineGetGeneralInfo()函数。而OpenNetCF提供了对TAPI的封装,正好可以拿来用。
其中的具体的应用可查看
http://wwww.vbweb.co.uk/blogs/archive/2005/06/20
http://www.alexfeinman.com/download.asp?doc=tapi1.1.zip
- 读取SIM卡的一些信息用于PDA软件注册及安全使用
- 读取sim 卡联系人信息
- Android读取SIM卡信息
- android读取sim卡信息
- Android 通过反射及AIDL获取双卡手机SIM卡相关信息,及注册监听
- SubscriptionManager(sim卡的一些必要信息。)
- 从SIM卡中读取联系人信息
- Android读取sim卡信息实例
- SIM卡信息初始化和联系人读取
- .手机信息识别,sim卡及序列号的获取
- Android 查看SIM卡状态及SIM信息
- 获取SIM卡的信息
- Android读取SIM联系人信息
- Android读取SIM联系人信息
- 读取SIM卡的状态、sim卡网络
- ExpandableListView使用+获取SIM卡状态信息
- Windows mobile 下读取手机SIM卡信息(ZT)
- Windows mobile 下读取手机SIM卡信息
- geotools使用外部图片
- vimrc配置
- HeadFirstJavaScript(中文版100-104)
- ASP中怎么实现SQL数据库备份、恢复!
- 解决 ASP.NET Chart 控件出错 为 ChartImg.axd 执行子请求时出错。
- 读取SIM卡的一些信息用于PDA软件注册及安全使用
- 精解C++的switch语句
- ASP.NET Forms验证(自定义、角色提供程序)
- apt 与 dpkg
- Ruby on rails开发从头来(五十四)- ActiveRecord基础(指定关联关系)
- C++中引用和指针的不同
- Python打开文件的模式
- 什么是 C++
- fedora11 之在线收听战斗