各种智能卡在制作时固化了一个永久性的物理卡号,此物理卡号是不能被修改的,类似网卡的MAC地址。
读卡器根据物理卡号可以转换输出不同的位数和格式,各个厂家的读卡器输出不太一样,但基本上是按一定的标准输出,以下是常用的几种格式:
1、格式1:10 位十六进制的ASCII 字符串,即10 Hex 格式。
如:某样卡读出十六进制卡号为:“01026f6c3a”。
2、格式2:将格式1 中的后8 位,转换为10 位十进制卡号,即8H---10D。
即将“ 026f6c3a”转换为:“0040856634”。
3、格式3:将格式1 中的后6 位,转换为8 位十进制卡号,即6H---10D。
即将“ 6f6c3a”转换为:“07302202”。(后8位)
4、格式4:将格式1 中的倒数第5、第6 位,转换为3 位十进制卡号,再将后4 位,转换为5 位十进 制卡号,中间用“,”分开,即“2H + 4H”。
即将2H“ 6f”转换为:“111”,4H “6c3a”转为“27706”。
最终将2 段号连在一起输出为“111,27706”。(3字节 10进制)
5、格式5:将格式1 中后8 位的前4 位,转换为5 位十进制卡号,再将后4 位,转换为5 位十进制卡 号,中间用“,”分开,即“4Hex + 4Hec”。
照此推算结果为:00623,27706 (4H+4H)