M1卡做电子钱包结构

来源:互联网 发布:php 获取远程图片 编辑:程序博客网 时间:2024/05/16 18:20

M1卡做电子钱包使用时,要将某个块按规定格式初始化为数值块

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

数值

数值

数值

Adr

Adr

Adr

Adr

0字节是数值最低字节。

初始数值块是用写命令把数据写到块,例如第8块初始化为数值块,数值为0,用写块命令写入

0×00 0×00 0×00 0×00 0xff 0xff 0xff 0xff 0×00 0×00 0×00 0×00 0×08 0xf7 0×08 0xf7

然后可以用DECREMENT INCREMENT TRANSFER RESTORE命令对数值块进行操作。

INCREMENT 对存储在数值块中的数值做加法操作,并将结果存到临时数据寄存器

DECREMENT 对存储在数值块中的数值做减法操作,并将结果存到临时数据寄存器

TRANSFER 将临时数据寄存器的内容写入数值块

RESTORE 将数值块内容存入临时数据寄存器

电子钱包增值函数流程

询卡-防冲突-选卡-密码验证-增值-传送-挂起

电子钱包减值函数流程

询卡-防冲突-选卡-密码验证-减值-传送-挂起

RESTORE命令是在一个扇区内数值块进行拷贝时用的,一般钱包数据需要备份在同一扇区的不同块中,则备份和恢复时都要用到RESTORE命令。

数值时一个带符号4字节值,这个值的最低一个字节保存在最低的地址中,所以增加1时,4字节增加的值数组应该是0×01 0×00 0×00 0×00,不是0×00 0×00 0×00 0×01

原创粉丝点击