关于IC卡密钥理解和修改(简易篇)

5 篇文章 0 订阅
3 篇文章 0 订阅
 

关于IC卡密钥理解和修改(简易篇)

常用的IC卡由于结构简单,使用方便,价格低,越来越受到普通应用的欢迎.本文主要描述普通IC卡的密钥相关的知识.

关于IC卡的读写,必须使用IC卡读写器, 我们推荐使用NFC读写器YW-607HC或者IC卡读卡器YW-605HA,不仅支持windows应用程序,也支持chrome等浏览器web的BS架构程序,同时支持安卓和linux的开发,可以说是一款非常全面的读卡器.

要了解IC卡的密钥,要从IC卡的结构说起.

1、卡内存结构

        每张卡有16个扇区,每个扇区有4个块,每个块有16字节。

       所以卡内存字节数:16*4*16=1024字节。

2、 每个扇区的最后一块为密钥块,用于保存密钥,除了密钥,不能用于保存其他数据。 

      第0扇区的第0块用于保存卡号等信息,是只读块,所以也不能用于写数据。

     那么实际可用内存为:(16*3-1)*16字节=752字节

3、密钥块的密钥只能用于这个扇区的密钥认证,所以16个块的密钥都是互相独立的。

4、密钥块的绝对块地址:

   0扇区:块3

   1扇区:块7

   2扇区:块11

   ...

  15扇区:块63

5、密钥块数据结构

   每个块16字节,密钥块也不例外,密钥块的数据结构如下:

     A密钥(6字节)+密钥控制字(4字节)+B密钥(6字节),例如

   FFFFFFFFFFFF  FF078069 FFFFFFFFFFFF  .

6、如何修改密钥

  简单的修改密钥就是 将6字节的A密钥,换成你所要设置的密钥,密钥控制字不变, B密钥与A密钥保持一致。

例如设置密钥112233445566, 此时写密钥块112233445566 FF078069 112233445566。写密钥块api为YW_WriteaBlock, 即可将该扇区的密钥修改为112233445566。

7、BS结构下web程序如何修改密钥,首先还是要组织密钥块的16字节, 然后将这16字节写入到密钥块中, 可以参考密钥修改在线例程http://www.youwokeji.com.cn/CloudReader/Sample8.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值