M1卡编程 m1卡射频卡

对于电脑周边编程,主要有两种思路(应该没有第三种了)。【详细说明见我博文永和豆浆管理系统基础工作总结】

一、利用windows系统本身dll库。

二、利用硬件产家提供的dll。

本篇对M1卡的编程是利用上述第二种方法。

M1卡最为重要的优点是可读可写并且安全性高的多功能卡。这些优点与其自身的结构密不可分。

M1结构:

M1卡分为16个扇区,每个扇区4块(块0~3),共64块,按块号编址为0~63。第0扇区的块0(即绝对地址0块)用于存放厂商代码,已经固化,不可更改。其他各扇区的块0、块1、块2为数据块,用于存贮数据;块3为控制块,存放密码A、存取控制、密码B。每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。

M1卡运作机理:

连接读写器→寻卡→识别卡(获取卡序列号)→从多卡中选一张卡→向卡中缓冲区装载密码→验证密码→进行读写→关闭连接

即(代码说明)

Open_USB→rf_request→rf_anticoll→rf_select→rf_load_key→rf_authentication→(/a_hex)→rf_read/rf_write→(hex_a)→Close_USB

如果概括来说的话,主要也就四部分开关连接、寻卡、验证密码、读取

(至于详细程序代码,相信大家自己看过dll说明文档后,自己会明白的,这里就不写了,因为内容多)

M1卡功能模式:

1.寻卡模式:

寻卡模式分三种情况:IDLE模式、ALL模式及指定卡模式(0,1,2均是int类型,是方法参数,下同)。

0——表示IDLE模式,一次只对一张卡操作;

1——表示ALL模式,一次可对多张卡操作;

2——表示指定卡模式,只对序列号等于snr的卡操作(高级函数才有)【不常用】

也就是说,我们一次也可以同时操作多张卡。

对于多卡操作,其实际真正执行操作的还是一张卡。读写器能识别多张卡的序列号(但注意识别出的顺序是不定的,并且最多也就能识别4张卡,因为卡叠放的厚度太厚,会超出读写器的识别范围),并一一进行操作。

所以由此看出,多卡操作的意义并不大。但我建议大家还是设置为1好了(原因不说了,自己感受吧,其实无所谓)。

2.密码验证模式:

0——KEYSET0的KEYA

4——KEYSET0的KEYB

M1卡可以在验证密码时选择密码类型(A/B)。【其实M1卡有3套密码(KEYSET0、KEYSET1、KEYSET2),共6个密码(用0~2、4~6来表示这六个密码),目的是为了适应不同读写器。而这里我们用的是KEYSET0的2个密码】

M1卡密码机制:

这可以说是M1卡的精髓了,也是M1卡最为复杂的地方,希望大家耐心看完。

(请先看明白M1卡结构)如上所说,在存取控制中每个块都有相应的三个控制位,它们的定义如下:

块0:C10C20 C30

块1:C11C21 C31

块2:C12C22 C32

块3:C13C23 C33

一个扇区的三个数据块,我们可以利用密码机制对它们分别进行权限控制。数据块(块0、块1、块2)的存取控制如下:

例如:当块0的存取控制位C10 C20C30=100时,验证密码A或密码B正确后可读;验证密码B正确后可写;不能进行加值、减值操作。

那么M1卡修改密码的方法是rf_changeb3

参数:

icdev:通讯设备标识符

_SecNr:扇区号(0~15)

KeyA:密码A

_B0:块0控制字,低3位(D2D1D0)对应C10、C20、C30

_B1:块1控制字,低3位(D2D1D0)对应C11、C21、C31

_B2:块2控制字,低3位(D2D1D0)对应C12、C22、C32

_B3:块3控制字,低3位(D2D1D0)对应C13、C23、C33

_Bk:保留参数,取值为0

_KeyB:密码B

由上我们看出_B0、_B1、_B2、_B3分别控制块0、块1、块2、块3。

由图我们可知_B0、_B1、_B2的可取值为0、10、100、110、1、11、101、111。

这里大家一定要注意一点:

不能装载密码到M1卡某一扇区后再更改那扇区的密码(最好连接完读写器后直接更改密码),否则更改密码会失败而冻结扇区。如果不慎这样了,解决的办法是完成一次读写操作,再更改密码。

控制块(块3)的存取控制与数据块(块0、1、2)不同,它的存取控制如下:

_B3的取值与_B0相同。

好了关于M1卡的编程我就介绍到这里了,大家如果有什么不明白的地方,可以和我联系交流。

M1卡编程 m1卡射频卡

  

爱华网本文地址 » http://www.413yy.cn/a/25101014/220711.html

更多阅读

指纹——安全的生物识别身份证? 生物射频指纹识别技术

忽然间指纹识别隐私加密成了个热门话题。可巧我朋友李萌也写了一篇相关题材的,经本人同意,发上来凑凑热闹。iPhone用了一年多,前两天刚发现iPhone 5s以上版本有指纹识别功能,扫描录入指纹后,不用输密码只要把手指轻轻放在主屏幕键就可以

颈二背根神经节脉冲射频 射频脉冲宽度

颈二(C2)背根的解剖:•C2脊神经根从外侧寰枢关节的内侧穿过硬膜,然后在关节后面斜向下行;•C2脊神经根非常短,约5-11mm,即分为前支和后支;•C2脊神经节解剖上位于外侧寰枢关节后面内侧中部的固定位置上;•

手机 信号调制--基带调制和射频调制 基带调制和射频调制

我们常说的信号调制(Modulation),其实在不同的语境(Context)下有着不同的意思。不过不只是初入行的员工,一些老鸟有时也常常会搞混淆。简单来说,在移动通讯里常常有两个地方涉及到调制,但是意义完全不同。我们以发射机为例加以解释(接收机

视频线和射频线的主要区别是什么 射频和天线的区别

名词:SYV——实心聚乙烯绝缘,PVC护套,国标代号是射频电缆——又叫“视频电缆”;SYWV——聚乙烯物理发泡绝缘,PVC护套,国标代号是射频电缆;[相同点.gif>:1.特性阻抗一样——75欧姆;2.外层护套,屏蔽层结构,绝缘层外径,编数选择,材质选择,屏蔽层数等

声明:《M1卡编程 m1卡射频卡》为网友咒语分享!如侵犯到您的合法权益请联系我们删除