基本信息
源码名称:读取身份证信息
源码大小:1.05M
文件格式:.zip
开发语言:C/C++
更新时间:2019-05-23
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 6 元 
   源码介绍



1. 接口使用流程及示例

在连接好读卡机具以后,首先需要调用函数InitComm打开相应端口。打开端口成功以后,即可以使用循环认证并读取卡中信息。

1.1. 二代证示例

  例:

#include “sdtapi.h”

int main()

{

int ret;

int iPort=1;

 

         ret=InitComm(iPort);

if ( ret ){

ret= Authenticate ();

if (ret){

char Msg[200];

ret= ReadBaseMsg (Msg, 0 );

if (ret > 0 ){

//显示文字及图片信息

}

char Msg1[200];

int num;

ret= ReadNewAppMsg (Msg1, &num );

if (ret > 0 ){

//显示追加地址信息

}

 

}

}


ret= CloseComm();

return ret;

}

 

1.2. TypeA卡示例(iDR210)

  例:

#include “sdtapi.h”

    

int main()

{

  int ret;

  int dev;

 

  ret =InitComm (1001);//USB接口的iDR210

  if (ret)

  {

        char csn[1024]={0};

        if (Routon_IC_HL_ReadCardSN(csn))//A卡卡号

        {

               //

        }

        else

        {

                MessageBox( NULL, "Routon_IC_HL_ReadCardSN error",

                        "错误", MB_OK | MB_ICONERROR );

                        return;

 

        }

ret=Routon_IC_FindCard();

if (ret)

{

        int sid=0,bid=0;

        unsigned char da[64]={0};

        unsigned char pw[6]={0xff,0xff,0xff,0xff,0xff,0xff};

        ret=Routon_IC_HL_ReadCard (sid,bid,0x60,pw,da);//0扇区0块的内容

}


}

CloseComm();

}

1.3. 读取指纹及身份证信息示例(iDR210)

 

ret = InitComm(1001);

if ( ret ){

 

ret=IsFingerPrintDevice();

if (ret!=1)

{

sprintf(msg,"设备不支持读取指纹信息!返回值=%d",ret);

MessageBox(msg,"提示");

return ;

}

 

ret= Authenticate ();

if (ret){

 

unsigned char unCHMsg[256];

unsigned char ucFPMsg[1024];

int uiFPMsgLen,uiCHMsgLen;

ret = ReadBaseFPMsg(unCHMsg, &uiCHMsgLen,ucFPMsg, &uiFPMsgLen);

if (ret!=1)

{

sprintf(msg,"读指纹信息失败!返回值=%d",ret);

MessageBox(msg,"提示");

return ;

 

}

if (uiFPMsgLen<1024)

{

sprintf(msg,"无指纹信息!");

MessageBox(msg,"提示");

 

}

//此处处理指纹及身份证信息

 CloseComm();

 

1.4. CPU卡操作示例(iDR210)

unsigned char data[1024];

memset(data,0,1024);

int datalen=0;

 

ret = InitComm(1);//串口1

if ( ret ){

 

ret=Routon_IC_FindCard();

 

if (ret!=2)//类型2为CPU卡

{

sprintf(msg,"不是CPU卡!返回值=%d",ret);

MessageBox(msg,"提示");

return ;

}

char apdu[]=” 00A404000E315041592E5359532E4444463031;

ret=Routon_CPUCard_Active();

if (ret==1){ //激活成功

ret=Routon_APDU(apdu,data,&datalen);//data为16进制值

 

 CloseComm();