首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

MifareClassic卡自定义keyA跟keyB

2013-03-14 
MifareClassic卡自定义keyA和keyB请先阅读《读写MifareClassic协议的NFC卡》一文了解MifareClassic卡的相关

MifareClassic卡自定义keyA和keyB

请先阅读《读写MifareClassic协议的NFC卡》一文了解MifareClassic卡的相关知识。

根据MifareClassic卡的的相关协议,如果要自定义自己的keyA和keyB,以使自己写入的到卡中的信息只有知道key值的人才能读写,必须往要操作的区中的Block 3即Trailer块写入数据。下图是Block 3的数据示例:

MifareClassic卡自定义keyA跟keyB

如图,我们只需定义要写入到Trailer块及keyA、keyB的数据分别为:

[java] view plaincopy
  1. byte authBlockData[] = { (byte) 0xAA, (byte) 0xAA, (byte) 0xAA,  
  2.         (byte) 0xAA, (byte) 0xAA, (byte) 0xAA, (byte)0xFF, (byte)0x07, (byte) 0x80,  
  3.         (byte)0x69, (byte) 0xBB, (byte) 0xBB, (byte) 0xBB, (byte) 0xBB,  
  4.         (byte) 0xBB, (byte) 0xBB };  
  5. byte keyA[] = { (byte) 0xAA, (byte) 0xAA, (byte) 0xAA, (byte) 0xAA,  
  6.         (byte) 0xAA, (byte) 0xAA };  
  7. byte keyB[] = { (byte) 0xBB, (byte) 0xBB, (byte) 0xBB, (byte) 0xBB,  
  8.         (byte) 0xBB, (byte) 0xBB };  
第一次往Block 3中写数据时仍然使用MifareClassic.KEY_DEFAULT,写入完成后则使用新定义的keyA和keyB进入数据的写入和读取了。至此,实现了MifareClassic卡自定义keyA和keyB功能。
相关可执行程序:http://download.csdn.net/detail/viviwen123/5131034。源码只实现了对MifareClassic卡的读写功能,未进行keyA和keyB的修改,读者根据本文稍做修改即可实现此功能。


热点排行