记录一下web端调用IC卡读卡器的大致流程

总结一下web端IC卡读卡器的调用方法

公司项目中用到了IC卡,需要实现读写IC卡,并且与服务端交互。IC卡读卡器用的是德卡的D8型号,SDK可以在德卡官网找到,下载链接:德卡SDK下载

官方提供了多种语言的SDK,web端调用首先会想到页面调用OCX的方式。HTML内调用OCX的方法不在赘述,具体可以查看HTML调用OCX。IE浏览器在打开响应页面上需要点“允许阻止的内容”才能成功加载OCX控件,否则无法调用OCX。Chrome及其他浏览器相对复杂,请自行百度。

在操作IC卡之前先了解一下IC卡的一些基础(本文以M1卡为例):
M1卡有16个扇区,即0到15扇区,要读取扇区中的数据,首先要进行密码校验(校验读卡设备中的密码和卡上的密码);要读取哪个扇区的数据就要校验哪个扇区的密码,dc_read或dc_read_hex方法是用的地址是绝对地址(每个扇区4个地址,16个扇区共64个地址,即0到63),校验完0扇区的密码后,能读取0到3地址上的数据,校验完1扇区的密码后,能读取4到7地址上的数据,以此类推。假设扇区号是 sNo,数据块号是bNo,则:sNo号扇区的最小区块号为:4 * sNo,最大区块号为:4 * sNo + 3

对卡的操作基本步骤:
初始化 -> 寻卡 -> 校验密码 -> 操作(读、写、其他操作) -> dc_exit(不执行 exit的话OCX调用会出错)


  • 写卡示例函数
function writeCard(){
   
	var st; //主要用于返回值
	var lSnr; //本用于取序列号,但在javascript只是当成dc_card函数的一个临时变量

    var messageText = document.getElementById("messageText");
	st = rd.dc_init(100, 115200);
	if(st <= 0) //返回值小于等于0表示失败
	{
   
		rd.dc_exit();
		messageText.value = messageText.value += "dc_init error!\r\n\r\n";
		return;
	}
	messageText.value = messageText.value += "dc_init ok!\r\n";

	//寻卡,能返回在工作区域内某张卡的序列号
	var snrlen;
	st = rd.dc_card_n(0,snrlen);
	if(st != 0)
	{
   
		messageText.value = messageText.value + "dc_card_n error!"+ "\r\n"
  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
IC卡读卡器是一种设备,用于读取IC卡上的信息。要使IC卡读卡器能够正常工作,需要调用其对应的动态库。 动态库是一种包含一系列可被应用程序调用的函数和资源的文件。它可以提供一组接口,供应用程序与设备进行交互。 调用IC卡读卡器的动态库需要以下步骤: 1. 确认所使用的IC卡读卡器的动态库文件的类型和版本。通常,供应商会提供相关的开发文档和示例代码,可以从中获取动态库文件以及其对应的接口说明。 2. 将动态库文件放置到应用程序的工作目录下,或者将其添加到系统的动态库搜索路径中。 3. 在应用程序中引入动态库的头文件,并使用相关的函数进行调用之前的初始化设置。 4. 通过调用动态库中相应的函数,实现与IC卡读卡器的交互。具体的函数和参数使用方法,可参考动态库的接口文档和示例代码。 5. 调用完相关函数后,根据需要进行数据的处理和操作,如读取IC卡上的信息或者进行写入操作等。 6. 最后,要确保在程序结束时正确地关闭IC卡读卡器的接口连接,释放相关资源,并进行必要的清理工作。 调用动态库涉及到具体的开发环境和设备接口,细节因具体情况而异。在进行调用前,对于IC卡读卡器的动态库需要进行仔细的研究和学习,确保对其接口和使用方法的深入了解,以保证程序的正常运行和设备的稳定使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值