详细讲解以下题目细分步骤“恩智浦非接触式IC卡主要应用于公交充值卡中, 无锡公交卡使用的MF3 S70卡片分为16个扇区,每个 扇区4块(块0~3),共64块,按块号编址为0~63, 假设扇区1存取控制要求如下: Block0验证密码A或B可读、写、加、减; Block1验证密码A或B可读,不可写、加、减; Block2验证密码A或B可读、减,不可写、加; Block3密码A不可读写,密码B不可读写;控制字验证密码A 或B可读,不可写; 求该扇区的4字节控制字,并写出过程。备用字节保持69H。”
时间: 2024-03-30 11:38:08 浏览: 97
根据题目要求,我们需要求出该扇区的4字节控制字,并写出过程。具体步骤如下:
Step 1:确定各块访问权限
根据题目要求,我们可以得知该扇区各块的访问权限如下:
- Block0:验证密码A或B可读、写、加、减;
- Block1:验证密码A或B可读,不可写、加、减;
- Block2:验证密码A或B可读、减,不可写、加;
- Block3:密码A不可读写,密码B不可读写。
Step 2:确定各块的数据区和访问条件
根据题目要求,我们可以得知该扇区各块的数据区和访问条件如下:
- Block0:数据区为16个字节,访问条件为验证密码A或B;
- Block1:数据区为16个字节,访问条件为验证密码A或B;
- Block2:数据区为16个字节,访问条件为验证密码A或B;
- Block3:数据区为16个字节,访问条件为密码A或B。
Step 3:确定控制字
根据MF3 S70卡片的规格说明书,控制字由2个字节组成,分别为C1和C2。其中,C1的位0-2表示密码验证方式,位3表示数据区访问条件,位4-7表示备用。C2的位0-2表示块访问权限,位3表示密码验证方式,位4-7表示备用。
根据上面的访问条件和控制字的定义,我们可以得到该扇区的控制字为:0x7F, 0x8F。
具体计算过程如下:
- C1:密码验证方式为验证密码A或B,所以位0-2为0b011,数据区访问条件为验证密码A或B,所以位3为1。备用位为0x69,转换为二进制为0b01101001,所以位4-7为0b1001。将这些位拼接起来,得到C1为0b01111001,即0x79。
- C2:Block0的访问权限为读、写、加、减,所以位0-2为0b111;Block1的访问权限为读,所以位3为0;密码验证方式为验证密码A或B,所以位4-6为0b011。备用位为0x69,转换为二进制为0b01101001,所以位7为1。将这些位拼接起来,得到C2为0b01110111,即0x77。
因此,该扇区的4字节控制字为0x79, 0x77, 0x00, 0x69。