MifareClassic卡通过Access Bits来控制keyA和keyB的读写权限

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:58   1120   0

上一篇文章介绍了 【MifareClassic卡自定义keyA和keyB】,使得写入的到卡中的信息只有知道key值的人才能读写,但要使得keyA和keyB拥有不同的权限,以达到权限控制的目的,就需要通过Access Bits 来控制了。通过Access Bits 来控制keyA和keyB的读写权限的详细介绍请看文档:Mifare1卡中文资料。主要内容如下:




按照上表,当块0的存取控制位C10 C20 C30=1 0 0时,验证密码A或密码 B 正确后可读;

验证密码B正确后可写;不能进行加值、减值操作。

当块3的存取控制位C13 C23 C33=1 0 0时,表示:
密码 A:不可读,验证KEYA或KEYB正确后,可写(更改)。

存取控制:验证KEYA或KEYB正确后,可读、可写。密码B:验证KEYA或KEYB正确后,可读、可写。

因此,C1x C2x C3x = 100时,根据上面的表格(”注:_b表示取反“那个表),得出:

字节6:11110000,

字节7:11111111

字节8:00000000

字节9:备用字节,随便填充。如:00000000

因此此时的控制位为:

(byte)0xF0, (byte)0xFF, (byte) 0x00,(byte)0x00

此时,KEYA 或 KEYB对数据块可读, KEYB对数据块可写...

(个人理解,可能有所偏差,只做参考。)


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP