如何从扇区1读取数据?authenticate是真的,我在IOException中遇到异常(“收发失败”)。
private String readSector() {
byte [] array={(byte)0xD3,(byte)0xF7,(byte)0xD3,(byte)0xF7,(byte)0xD3,(byte)0xF7};
byte[] data = null;
final ByteArrayBuffer b = new ByteArrayBuffer(mMaxSize);
String sb=new String();
boolean succes = false;
try {
mClassic.connect();
succes = mClassic.authenticateSectorWithKeyA(1, array);
if (succes) {
b.append(mClassic.readBlock(3), 1, 16);
data = b.toByteArray();
}
else
sb+="Authentication failed";
mClassic.close();
catch (final TagLostException tag) {
tag.printStackTrace();
sb+="Tag Lost";
}
catch (final IOException e) {
e.printStackTrace();
sb+="IOEception";
}
}
答案 0 :(得分:2)
在扇区1块4到6中找到它,并使用该代码读取数据,
private String readMadSector() {
byte [] array={(byte)0xD3,(byte)0xF7,(byte)0xD3,(byte)0xF7,(byte)0xD3,(byte)0xF7};
byte[] data = null;
byte [] b;
String sb=new String();
boolean succes = false;
try {
mClassic.connect();
succes = mClassic.authenticateSectorWithKeyA(1, array);
b=mClassic.readBlock(4);
sb+=convertHex(b);
b=mClassic.readBlock(5);
sb+=convertHex(b);
b=mClassic.readBlock(6);
sb+=convertHex(b);
else
sb+="Authentication failed";
mClassic.close();
}
catch (final TagLostException tag) {
tag.printStackTrace();
sb+="Tag Lost";
}
catch (final IOException e) {
e.printStackTrace();
sb+="IOEception";
}
return (sb.toString());
}