您好,欢迎来到全球供应商网!请 |免费注册

产品展厅本站服务收藏该商铺

北京友我科技有限公司

免费会员
手机逛
13671114914
北京友我科技有限公司

Technical article

技术文章

当前位置:北京友我科技有限公司>>技术文章>>BS结构中网页程序如何使用IC卡读卡器

BS结构中网页程序如何使用IC卡读卡器

发布时间:2026/5/162

BS结构程序由于维护起来比CS结构程序简单,现在越来越多的需求使用BS结构来实现。那么如何在BS结构中的网页程序中使用IC卡读卡器呢?

友我科技为此提供了现成的解决方案,采用Js+ocx方式,将IC卡读卡器的驱动部分封装在ocx中,在网页端使用js脚本调用ocx的接口,不仅实现IC卡的读卡,还可以对IC卡进行写卡操作。

友我科技的大部分IC卡读卡器都支持BS结构网页工作模式,包括IC卡读卡器YW-605HA,YW-608HA,YW-607,SDT-HA等等,这些读卡器可以支持:ISO14443 TypeA(包含M1,S50,S70,FM08和CPU卡),ISO14443 TypeB和ISO15693协议卡片;支持NFC定义的Type1(ISO14443 TYPEA、TOPAZ),Type2(ISO14443 TYPEA、MIFARE Ultralight、 NTAG203/210/212/213/216等),Type3(Sony Felica), Type4(ISO14443 TYPEA/B、MIFARE DESFire等)。。

ocx采用基于COM的activex技术,分为32位版本和64位版本,软件工程师可以根据需求自己选择合适版本,或者选择自动安装由安装程序自动选择适合当前浏览器的版本。

在js脚本中,可以动态加载ocx控件,也可以选择静态加载ocx控件。

动态加载方法:

var obj = new ActiveXObject("YW60X.yw60xCtrl.1");

静态加载方法:

<object id="ReaderTest"

classid="clsid:167E1838-7388-4A24-86DE-985B91F0FFBF">

</object>


js脚本控制IC卡读卡器

1.打开IC卡读卡器

function OpenReader()

{

if(document.ReaderTest.YW_USBHIDInitial()<=0)

{

document.getElementById("CardNo").value = "没有读卡器";

return false;

}

return true;

}


2.关闭IC卡读卡器

function CloseReader()

{

return document.ReaderTest.YW_USBHIDFree();

}


3.寻卡,并获得卡号,卡号可以根据yw60x.ocx控件提供的各种方法做转换,以满足自己的显示需求。

function RequestCard()

{

var i;

var CardType;

var vCardNo;

var LenCardNo;


if(OpenReader()==false)return;


i = document.ReaderTest.YW_RequestCard(1,82);

if(i<0)

{

document.getElementById("CardNo").value ="寻卡失败";

return;

}

i = document.ReaderTest.YW_AntiCollide(1);

if(i<0)

{

document.getElementById("CardNo").value ="寻卡失败";

return;

}


LenCardNo = document.ReaderTest.OutData1Size;

vCardNo = document.ReaderTest.OutData1;

document.getElementById("CardNo").value = document.ReaderTest.ConvertCardNo(vCardNo, 0);

i = document.ReaderTest.YW_CardSelect(1,LenCardNo,vCardNo);

}


4.读卡

function ReadCard()

{

var BlockID;

var Key;

RequestCard();

BlockID = document.getElementById("BlockIDRead").value;

Key =document.ReaderTest.GetVariantFromHexStr(document.getElementById("KeyRead").value);

i = document.ReaderTest.YW_KeyAuthorization(1,96,BlockID,Key);

if(i<0)

{

document.getElementById("DataRead").value ="密钥认证错误";

return;

}

i = document.ReaderTest.YW_ReadaBlock(1,BlockID,16);

if(i<0)

{

document.getElementById("DataRead").value ="读块错误";

return;

}

document.getElementById("DataRead").value = document.ReaderTest.GetHexStr(document.ReaderTest.OutData1);

document.ReaderTest.YW_Buzzer(1,5,5,1);

CloseReader();

}



5.写卡

function WriteCard()

{

var BlockID;

var Key;

var Data;

RequestCard();

BlockID = document.getElementById("BlockIDWrite").value;

Key =document.ReaderTest.GetVariantFromHexStr(document.getElementById("KeyWrite").value);


i = document.ReaderTest.YW_KeyAuthorization(1,96,BlockID,Key);

if(i<0)

{

alert("密钥认证错误");

return;

}

Data =document.ReaderTest.GetVariantFromHexStr(document.getElementById("DataWrite").value);

i = document.ReaderTest.YW_WriteaBlock(1,BlockID,16,Data);

if(i<0)

{

alert("写块错误");

return;

}

document.ReaderTest.YW_Buzzer(1,5,5,1);

alert("写块成功");

CloseReader();

}

在读卡和写卡中,可以将各个数据利用yw60x.ocx提供的des和3des函数进行加密和解密,使得数据更安全,至此一个简单的网页端调用IC卡读卡器程序就好了。


标签关键词:

上一篇: NFC读写器到底支持哪些NFC标签.

下一篇: Modbus读写器YW-630开发指南

在线询价

X

已经是会员?点击这里 [登录] 直接获取联系方式

会员登录

X

请输入账号

请输入密码

=

请输验证码

收藏该商铺

X
该信息已收藏!
标签:
保存成功

(空格分隔,最多3个,单个标签最多10个字符)

常用:

提示

X
您的留言已提交成功!我们将在第一时间回复您~