如何从借记卡/信用卡获取卡号和有效期?

时间:2014-09-02 18:52:05

标签: android credit-card apdu

我有一个读卡器用于读取带有芯片的卡片用于android(它通过usb连接)。我可以连接到读卡器和电源卡本身。但是当我发送APDU命令时,我无法理解响应。这是我的代码。

String command = "00A404000E315041592E5359532E4444463031";
byte[] commandByte = apdu.s2ba(command);
byte[] prevByte = new byte[30];
int[] prevLen = new int[1];
prevLen[0] = 30;
int status = reader.SCardTransmit(commandByte, commandByte.length, prevByte, prevLen);
Log.i("ab", Integer.toString(status)+"----"+apdu.ba2s(prevByte)); 

我收到回复

09-02 23:30:19.648  25744-25744/com.nnadir.scanertest4 I/ab﹕ 0----30: 611700000000000000000000000000000000000000000000000000000000

但必须是这样的

6F 1A 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 08 88 01 01 5F 2D 02 65 6E

我正在关注this指南

1 个答案:

答案 0 :(得分:0)

我在apdu命令后发现6117响应显示命令是成功的(61)和17字节响应可用。所以我们需要发送第二个apdu命令来获得响应

00C0000017 - 这里17是我们期望的字节数,现在我们得到了所需的信息。