上一篇文章介绍了 【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对数据块可写...

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

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

  1. nfc sim android8,Android NFC相关资料之MifareClassic卡(读写)

    from: http://wszf.net/archives/2012/11/07/80510.html 一般来说,给予MifareClassic的射频卡,一般内存大小有3种: 1K: 16个分区(s ...

  2. Android nfc模块读写MifareClassic卡50

     http://3y.uu456.com/bp_8mhvy4gizz721et5ih0i_1.html 一般来说,基于MifareClassic的射频卡:1K:16个分区(sector),每个分区 ...

  3. android 近场通信,Android NFC近场通信03----读写MifareClassic卡(示例代码)

    Android NFC近场通信02----读写MifareClassic卡 一.MifareClassic卡 相关 一般来说,给予MifareClassic的射频卡,一般内存大小有3种: 1K: 16 ...

  4. Android NFC读MifareClassic卡获取卡片ID 类型 扇区 存储空间

    1.首先要在AndroidManifest.xml中声明如下配置信息: 为了能够使用Android手机的NFC功能,需要在Manifest文件中添加相应的权限: 详细配置请参考-->Androi ...

  5. M1卡 不能使用KeyB进行读写的问题

    前提知识: #M1卡控制位对应操作权限: M1卡即S50卡,存取控制(4字节,其中字节9为备用字节)结构如下所示: 数据块(块0.块1.块2)的存取控制如下: 控制位(X=0..2) 访 问 条 件 ...

  6. asp.net core mvc权限控制:在视图中控制操作权限

    在asp.net core mvc中提供了权限验证框架,前面的文章中已经介绍了如何进行权限控制配置,权限配置好后,权限验证逻辑自动就会执行,但是在某些情况下,我们可能需要在代码里或者视图中通过手工方式 ...

  7. android 6.0 sd卡读写权限,Android 6.0 读写SD卡权限问题

    一.问题描述## Android 6.0 下默认存储SD卡,使用原生FMRadio生成的文件保存到内部存储中 [预置条件]插入T卡[操作步骤]设置>存储设备和USB>选择SD卡为默认存储& ...

  8. 权限控制_多租户系统设计之权限控制

    概述 业务层面的隔离是用户可以直接感知的隔离,也是多租户系统必须实现的隔离,在上篇文章中提到的数据隔离主要是针对数据存储层面而言的,用户一般感知不到,所以如"基于数据行的租户唯一标识&quo ...

  9. 实现权限控制_SpringCloud 微服务实现数据权限控制

    前章讲了如何进行用户权限验证<SpringCloud下的用户鉴权方案>,它是微服务下统一资源访问权限的控制,就像一道墙保护着SpringCloud集群下的各个业务应用服务.而本章要讲的是权 ...

最新文章

  1. 让编译器对一些警告闭嘴
  2. Day 3: Flask —— 使用Python和OpenShift进行即时Web开发
  3. 腾讯发布 2019 年研发报告:新增 12.9 亿行代码,74% 技术 Leader 仍在写代码
  4. android 外键,android - 创建一个具有外键的sqlite数据库表,作为android中的表列。 我面临以下错误。 我该如何解决 - 堆栈内存溢出...
  5. 2014\Province_C_C++_A\1 猜年龄
  6. 【HDU - 6184】Counting Stars(三元环计数,二分,优化暴力,O(m*sqrt(m)),图论)
  7. 1.3编程基础之算术表达式与顺序执行 01 A+B问题
  8. gentoo/funtoo 环境配置使用 valgrind
  9. 后起之秀,《你好,李焕英》,票房已过十个亿和唐探三哪个好?
  10. unity3D游戏开发实战原创视频讲座系列9之塔防类游戏开发第一季
  11. mysql数据库腾讯云添加用户,解决腾讯云cdb的基础版mysql不支持新建账号
  12. 免费WiFi初体验——个小白的WiFi旅程
  13. C语言课程设计|通讯录管理系统(含完整代码)
  14. 香港 三星 android6.0,【极光ROM】-【三星NOTE20高通全系列(国行/港版/台版/韩版/美版) N98XX】-【V6.0 Android-R-UC1】...
  15. mysql in查询效率真的低_MySql中in查询效率低的替代方法
  16. 百度与谷歌地图坐标转换
  17. 随机数—Random
  18. 整理软件行业职位介绍(PM,RD,FE,UE,UI,QA,OP,DBA,BRD,MRD, PRD,FSD等)、组织结构、职责
  19. 1088: 手机短号 (多实例)C语言
  20. Multisim14安装报错fatal error!Required NIPathsDir property NISHAREDDIR is undefined.

热门文章

  1. linux 已打开的文件夹里,打开linux文件的三种方法
  2. gremlin3.3.3 第三部分 - 1-图的遍历(3)
  3. Getshell的各种姿势
  4. 两级电力市场环境下计及风险的省间交易商最优购电模型(Matlab代码实现)
  5. 2016年春季大学先修课考试
  6. 2.软件工程与软件测试理论
  7. ADAS驾驶辅助 常见功能
  8. 10. 试用期工作总结结尾
  9. 椭圆曲线加密(ECC)明文编码方法及代码实现
  10. 理解基本的Android编程 (1/2)