2012-10-30 125 views
1

正如標題所述;是否有APDU命令來檢索標籤的UID?我正在使用Java,使用ACR122-u讀卡器和javax.smartcardio.*包,我想從掃描儀上的標籤獲取UID。智能卡庫可以發送CommandAPDU,但我需要找出要發送的APDU。谷歌一直沒有對我很友好的就這一個,給我提供了數以千計的某種無用的數據表...Mifare Classic 1k APDU命令用於檢索標籤UID

任何幫助將是巨大的比不:)

+0

也許[this](http://stackoverflow.com/questions/12011726/reading-block-from-mifare-classic-using-javax-smartcardio)可以幫助你! [拉多](http://stackoverflow.com/users/1607656/rado)已經問過這樣的問題,並在他的問題中回答了這個問題。我希望它能幫助你。 – Unknown222

回答

8

猶未晚,但實際上有一個APDU只是檢索UID:(字節)0xFF時(字節)0xCA,(字節)爲0x00,(字節)爲0x00,(字節)爲0x00

FF CA 00 00 00

在Java:byte[] getuid = new byte[] { (byte) 0xFF, (byte) 0xCA, (byte) 0x00, (byte) 0x00, (byte) 0x00 };

如果您發送此APDU,響應數據將會發送是卡:)剛UID(遠遠高於有更多的信息和不必設置一個偏移量來得到你需要的信息更容易...)

+0

我相信你需要改進你的問題,增加發送這個命令的全部結構,因爲在鏈接中點擊更容易看到。 –

+0

他有很多其他的帖子解釋瞭如何發送和接收APDU到卡,以及它的源代碼。我只是告訴他他必須發送APDU來檢索UID。 – alvaroga91

0

的APDU命令讀取UID是

byte[] baReadUID = new byte[5]; 

    baReadUID = new byte[] { (byte) 0xFF, (byte) 0xCA, (byte) 0x00, 
      (byte) 0x00, (byte) 0x00 }; 

All Complete code is here....