MifareClassic卡自定义keyA和keyB

来源:互联网 发布:淘宝well运动怎么样 编辑:程序博客网 时间:2024/05/22 14:26

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

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

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

[java] view plaincopy
  1. byte authBlockData[] = { (byte0xAA, (byte0xAA, (byte0xAA,  
  2.         (byte0xAA, (byte0xAA, (byte0xAA, (byte)0xFF, (byte)0x07, (byte0x80,  
  3.         (byte)0x69, (byte0xBB, (byte0xBB, (byte0xBB, (byte0xBB,  
  4.         (byte0xBB, (byte0xBB };  
  5. byte keyA[] = { (byte0xAA, (byte0xAA, (byte0xAA, (byte0xAA,  
  6.         (byte0xAA, (byte0xAA };  
  7. byte keyB[] = { (byte0xBB, (byte0xBB, (byte0xBB, (byte0xBB,  
  8.         (byte0xBB, (byte0xBB };  
第一次往Trailer块中写数据时仍然使用MifareClassic.KEY_DEFAULT,写入完成后则使用新定义的keyA和keyB进行数据的写入和读取了。至此,实现了MifareClassic卡自定义keyA和keyB功能。


原创粉丝点击