做过刷卡的高手请指点一下(100分)

  • 主题发起人 主题发起人 ntjrr
  • 开始时间 开始时间
N

ntjrr

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi+sql2000编写的软件,目前要求客户资料要存在磁卡里面,一刷卡就能自动取得客户资料。但我不懂得如何下手,我已知的知识如下:每个卡号都有自己唯一的ID,刷卡后写入这个ID和其它如姓名年龄等字段一起保存到数据库。下次刷卡时读出这个ID,然后到数据库里找这个ID读出姓名等其它字段。我的疑问是:如何取这个ID,是不是要问厂家要什么接口协议?做这方面关键点在哪?谢谢!
 
你可以分两步考虑,先根据一个ID来完成数据库方面的操作,然后根据厂家提供的接口协议等取得ID来调用你的程序即可
一般刷卡的都是用串口通讯,他们应该给你有合适的动态库及调用方法或串口操作指令的
 
这个不用,磁卡存客户号,数据库存详细信息,刷卡检索数据库
 
一般来说,磁卡的容量有限,所以你可以只在它上面存一个ID号,比如5位,刷卡后读出ID后到数据库中根据ID号检索出相关信息,但是当数据库的记录很多时,就有可能造成刷卡后的信息显示会慢一点(还和串口通讯、网络情况等有关)。还有就是把客户信息都存到磁卡上,这样做的好处是无须到后台检索数据,刷卡即可读出信息,但是这样做必须注意:
1、确保信息的安全性,如采取加密存放等;
2、前面说过,磁卡的容量不大,因此如果客户要存的信息很多就不一定可行,况且还存在这种可能:刚开始只要存个ID和姓名,用了一段时间又要存个年龄,...这样就非常麻烦且不灵活,可扩充性不强。
所以说,采用哪种方法要看实际的业务及后续的扩展
 
先感谢各位前辈的指点,看过以后我有了一个新的观念上的改变,也就是我原以为磁卡的序列号是出厂时自带的,固化在芯片中的,看过上面的指点后,我得出的结论就是磁卡中出厂时是不带任何信息的,也没有什么序列号。只是芯片中有很小的存贮功能,序列号也是由软件中产生再写到磁卡中去的,我的理解对吗?
我现在问的厂家是说不要任何接口协议的,刷卡后卡号会出现在当前光标所在的文本框中,那么它应该是自带序列号的?这和上面的理解又有矛盾。
 
和银行信用卡一样, 卡上写的是账号,是由银行写上去的,其他资料在银行的数据库中,随便找个写卡器就可以造一张信用卡。如果密码让别人知道了,信用卡上的钱就不知道是谁的了!
 
首先纠正你的一个错误:磁卡是没有芯片的。
至于序列号什么的也是要看的,有些厂家出厂时会写入一些信息,如果一张新卡刷卡后就可以读出卡号,那肯定是厂家写入的。
TO xuhongxinghome:
“随便找个写卡器就可以造一张信用卡”,不是你想的那么简单的,不信你可以试试。
 
又查阅了一些资料,原来磁卡分为IC卡和ID卡,IC卡是可写入的,ID卡是不可写入的,预先有卡号在里面。对吧,这样的话上面的说法也没矛盾了。
 
估计LZ没有分清磁卡和ic卡
1、磁卡:无芯片(注意防止磁铁等的破坏),容量很少,几十BYTE左右,可读写,你的用途中大约只能存放一个编号。
2、IC卡:有芯片,分类很多,容量也大得多。读和写的权限主要取决于不同的密码。原来有无序列号不清楚,估计多半有吧(类似硬盘?)。但是我想你的用途是应该自己规定一个ID号来对应客户,至于其他信息也可以考虑保存一份,但是程序应该提供相互更新的功能(比如用PC中的信息修改IC卡中的)
 
有这么麻烦吗?我也做过刷卡的系统.还是我理解的不对?
 
分为ID,IC卡两种型式,其中ID卡只存储一个唯一的物理号码,可以通过接口程序读取出来,与存在数据库中的该物理卡号对应的人员信息比对.
IC卡则是在发卡时奖人员相关信息通过发卡器写入到磁卡相应的存储扇区中去.读卡时通过接口函数数将存储的相关信息读取出来即可.
 
楼主说的是磁条卡吗,这个比较简单,只用一个ID即可,一般银行全是遵循银联的标准,不过很多银行目前在ID后面附加了校验位。其他行业应该也有自己的标准。如果仅仅是一个单位使用,那就无所谓了。
要是IC卡,那还是找一个比较专业的人员来做吧,一般人很难搞的。
 
再次感谢各位的指点,现在在等卡到手后做测试,在短时间内我必定前来结案。
 
用的肯定是ic卡,专业一卡通开发,www.posbaba.com
QQ:784805377
 
多人接受答案了。
 
后退
顶部