首页 > 其他分享 >关于IC卡密钥理解和修改(简易篇)

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

时间:2022-08-22 14:11:46浏览次数:86  
标签:112233445566 字节 16 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

 

标签:112233445566,字节,16,IC卡,扇区,简易,密钥
From: https://www.cnblogs.com/yoworfid/p/16612620.html

相关文章

  • 搭建简易 nuget 私服仓库
    一、前言在上一篇随笔中,我向大家介绍了如何制作自己的nuget包,并没有向大家介绍如何发布制作好的包,今天就继续向大家介绍如何搭建一个简易的nuget私有仓库,并上传自......
  • 简易图像编辑器Seashore
    为大家带来一款简易的图形编辑器,Seashore许您使用多个图层,使您可以使用画笔,并集成文本工具,帮助大家快速绘图和编辑图像。软件下载地址这是一个易于使用但功能强大的图像......
  • Android生成密钥散列
    接入facebook登录和分享时需要在facebook后台添加密钥散列,下面是生成方式第一种(简单,准确)记住要用相应的签名文件进行签名哦try{PackageInfoinf......
  • 6 简易布局index页面,依据bootstrap
    index.html{%loadstatic%}<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><linkrel="stylesheet"href="{%......
  • Java一次计算简易计算器
    小白简易计算器第一次尝试写代码publicclassCalculator{publicstaticvoidmain(String[]args){//创建扫描对象Scannerscanner=newS......
  • 编写一个简易计算器
    编写一个简易计算器思路用四个方法分别来实现加减乘除使用Scanner进行用户交互利用switch判断运算符 packagecom.ylmxy.method; ​ importjava.util.Sca......