1:ICCID:Integrate circuit card identity 集成电路卡识别码(固化在手机SIM卡中) ICCID为IC卡的唯一识别号码,共有20位数字组成,其编码格式为:XXXXXX 0MFSS YYGXX XXXXX。分别介绍如下: 前六位运营商代码:中国移动的为:898600;中国联通的为:898601。
2:IMSI 国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。其总长度不超过15位,同样使用0~9的数字。其中MCC是移动用户所属国家代号,占3位数字,中国的MCC规定为460;MNC是移动网号码,由两位或者三位数字组成,中国移动的移动网络编码(MNC)为00;用于识别移动用户所归属的移动通信网;MSIN是移动用户识别码,用以识别某一移动通信网中的移动用户。
3:IMEI IMEI(International Mobile Equipment Identity)是移动设备国际身份码的缩写,移动装备国际辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一部手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。手机用户可以在手机中查到自己手机的IMEI码。
4:MEID 移动设备识别码(Mobile Equipment Identifier)是CDMA手机的身份识别码,也是每台CDMA手机或通讯平板唯一的识别码。通过这个识别码,网络端可以对该手机进行跟踪和监管。用于CDMA制式的手机。MEID的数字范围是十六进制的,和IMEI的格式类似。
一张SIM卡,里面有ICCID,也有IMSI。 ICCID是卡的标识,IMSI是用户的标识。
ICCID只是用来区别SIM卡,不作接入网络的鉴权认证。而IMSI在接入网络的时候,会到运营商的服务器中进行验证。
ICCID可以伪造,可以用一张空白多号卡,写入IMSI和KI,只要是经过破解的IMSI和KI,就可以接入网络,而ICCID可以任意20位数字。
iPhone手机在激活的时候,会把ICCID和IMSI一起发送到苹果服务器端进行验证。特别是有锁的手机,就使用IMSI来判断是否合法运营商,如果不合法,就无法激活。ICCID作为SIM卡标识,在激活的时候被记录下来,直到下次刷机,在服务端的记录都不会被改变。
IMSI: 国际移动用户识别码 (与你的手机卡是绑定关系 用于区别移动用户的有效信息)储存在SIM卡中
ICCID:ICCID为IC卡的唯一识别号码(在你sim卡背面20位的数字)储存在SIM卡中
KI:SIM卡与运营商之间加密数据传递的密钥(知道KI就可以直接破解) 储存在SIM卡中
IMEI:是国际移动设备唯一身份码(这是指的是手机并不是sim卡)
三 获取DeviceId(IMEI码或MEID码)
//获取手机唯一标识,GSM手机为IMEI码,CDMA手机为MEID码。
//需要权限:READ_PHONE_STATE
TelephonyManager tele = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
String deviceId = tele.getDeviceId();
我的办法: android.os.Build.SERIAL + cpuinfo 确定设备的唯一号 (优点:非手机设备,也可以保证唯一号)
看考文档: http://cloudstack.blog.163.com/blog/static/1876981172012710823152/