ESN (Electronic Serial Numbers):电子序列号。在CDMA 系统中,是鉴别一个物理硬件设备唯一的标识。也就是说每个手机都用这个唯一的ID来鉴别自己, 就跟人的身份证一样。一个ESN有32 bits, 也就是 32/8 = 4 bytes。ESN用8位的16进制来表示,如0x801EA066。随着CDMA移动设别的增多,ESN已经不够用了,所以推出了位数更多的MEID。

MEID(Mobile Equipment ID):手机设备识别码。前面说过了,由于CDMA移动设备增多,导致原来8位的ESN不够用,所以推出了56bits的MEID码,MEID可以表示为14位的16进制码,如0xA1000002B0BEB2。开头的0xA表示CDMA手机,如果是0x9, 就表示多模手机。

pESN(pseudo ESN):伪ESN。pESN的推出是为了解决前向兼容的问题,pESN的格式与ESN是完全一样的,唯一的区别是pESN是采用0x80开头的。将MEID转为pESN,就可以在支持ESN的C网内正常使用。

MEID转化为pESN具体的方法是,56 bits的MEID通过SHA-1 hash算法,挑出后6位,然后在开头加上0x80。pESN并不是唯一的,是可能会重复的,但pESN不会跟ESN重复,因为开头强制加了0x80;

java中提供了MessageDigest这个类来实现了一系列的hash算法,可以通过调用该类来进行运算,计算过程中注意byte和hexstring之间的转换即可。

以下是一些现况:
1、一个手机只能有一个ESN或一个MEID。如6800、6900均是ESN码;但6950开始就采用MEID码了。
2、带ESN或MEID码的手机都可以支持ESN的CDMA网络内正常使用,而ESN码的手机不能在只支持MEID的CDMA网络内使用。
3、目前中国电信的C网应该已经开始采用MEID鉴权了,从2005年开始MEID开始替换ESN。

04-25 19:27