有没有人做过IC卡读写得?(200分)

  • 主题发起人 主题发起人 fhli
  • 开始时间 开始时间
F

fhli

Unregistered / Unconfirmed
GUEST, unregistred user!
给点思路
比如说市民卡
....
而且已经select 成功了, 3得循环验证 怎么写? psam卡中得信息有什么用? 需要用到APDU指令么?

是在不懂, 请教诸位大侠
 
我做过,但我看不懂你说的
 
c_ret = mifare_request(0, cdtype); //请求所有的卡,适合有人工干预的场合, 等待处理直到这张卡处理完毕
if (c_ret != 0)
{
errormessage.Format("mifare_request 失败, 错误代码%d", c_ret);
::MessageBox(NULL,errormessage,"提示",MB_OK);
return false;
}
if ((cdtype[0] !=4) )
{
errormessage.Format("非本读卡器支持的卡 , 错误代码%d", c_ret);
::MessageBox(NULL,errormessage,"提示",MB_OK);
return false;

}
unsigned char cdsnr[5]; //卡号
c_ret = mifare_anticoll(cdsnr);// 防冲突取的卡号
if (c_ret != 0)
{
errormessage.Format("mifare_anticoll 失败, 错误代码%d", c_ret);
::MessageBox(NULL,errormessage,"提示",MB_OK);
return false;
}
c_ret = mifare_select(cdsnr);// 锁定卡号, 返回卡片容量
if (c_ret != 0)
{
errormessage.Format("mifare_select 失败, 错误代码%d", c_ret);
::MessageBox(NULL,errormessage,"提示",MB_OK);
return false;
}
到这里都没有错,
到接下来应该是 合法型校验了, 该怎么继续写? 不清楚了
 
如果你只是做软件的话根本不用管这些,找硬件的要接口,
一般提供接口函数和文档,一看就明白,基本的步骤和楼上写的差不多,
不过我一般自己封装成两个函数,读卡(read_card) 和 写卡(wirte_card)
也就是不用每次读卡都按楼上的那个执行那么多步 直接调用读卡或者写卡函数就好了
当然这里还要有密码对了才能操作 不然认证不过去的
 
如果你只是做软件的话根本不用管这些,找硬件的要接口,
---------关键是做硬件不提供详细得接口(我都不知道他得调用函数全不全得),nnd,还牛鼻得很. 现在换来不及了. 所以才做得这么痛苦,
现在就不知道怎么做密钥验证了?(读写扇区 和处理数据我知道)
读写器中有PSAM卡
请指点
 
呵呵, 看样子在这里问不出什么名堂,
 
mac验证,扇区密钥校验, tac生成, 谁知道这些APDU指令怎么写呀
 
不同的厂家 他们做的指令都是不一样的,加密方法也不一样 还有有些有校验 有些没校验
没有一个通用的标准,帮不了你了,你还是要追着你买硬件的人要,知道他烦了,受不了才给你都行,或者威胁他,说不给就在网上宣传,说他们服务鸡吧差
 
你这样问问题别人怎么给你回答阿,说又说不清楚,然后就结论问不出名堂,者及没法给你回答,虽然我写过
 
虽然不知道结果, 但还是散分吧, 为了你们得热情
 
后退
顶部