做过IC卡开发进

微技术 2006-07-13 10:23:34
刚接触IC卡应用软件开发,不知从何处入手,开发工具,语言,接口,控制,安全,希望给点建议
...全文
581 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2006-07-13
  • 打赏
  • 举报
回复
直接调用厂商给的dll就可以了,技术问题也可以向卖家咨询
wlei9802 2006-07-13
  • 打赏
  • 举报
回复
同意
working1997 2006-07-13
  • 打赏
  • 举报
回复
当初用delphi搞过,其实很简单,就是调用IC卡厂商给你的DLL就可以了
1、根据你的实际需要购买IC卡
2、要求对方提供相应的DLL文件与实例
3、在你的开发平台进行开发
newfirefox 2006-07-13
  • 打赏
  • 举报
回复
厂家提供各种平台和开发环境的开发包,随意使用
yhjwii 2006-07-13
  • 打赏
  • 举报
回复
学习
zhangxuyu1118 2006-07-13
  • 打赏
  • 举报
回复
MARK
MonkWang 2006-07-13
  • 打赏
  • 举报
回复
帮顶 学习
whmjw 2006-07-13
  • 打赏
  • 举报
回复
那得要你程序用什么卡的类别了,一般厂商都会提供好的Dll供你使用,你只需要dllimpot就行了
比如下面的读IC4442的函数,我的是明华澳汉的
using System;
using System.Text ;
using System.Runtime.InteropServices;

namespace Fit.Dg.Client
{
/// <summary>
/// IC4442 的摘要说明。
/// </summary>
public class IC4442:IC
{
public IC4442()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

[DllImport("Mwic_32.dll", EntryPoint="swr_4442", SetLastError=true,
CharSet=CharSet.Auto, ExactSpelling=false,
CallingConvention=CallingConvention.StdCall)]
//说明: 向指定地址写数据
//调用: icdev: 通讯设备标识符 offset: 偏移地址,其值范围0~255
// len: 字符串长度,其值范围1~256 w_string: 写入数据 [MarshalAs(UnmanagedType.LPArray)] byte[] StringBuilder
//返回: <0 错误 =0 正确
public static extern int Swr_4442(int icdev, int offset, int len, [MarshalAs(UnmanagedType.LPArray)] byte[] w_string);

[DllImport("Mwic_32.dll", EntryPoint="srd_4442", SetLastError=true,
CharSet=CharSet.Auto, ExactSpelling=false,
CallingConvention=CallingConvention.StdCall)]
//说明: 从指定地址读数据
// 调用: icdev: 通讯设备标识符 offset: 偏移地址,其值范围0~255
// len: 字符串长度,其值范围1~256 r_string: 读出数据所存放地址指针
//返回: <>0 错误 =0 正确
public static extern int Srd_4442(int icdev, int offset, int len,[MarshalAs(UnmanagedType.LPArray)] byte[] r_string );


[DllImport("Mwic_32.dll", EntryPoint="chk_4442", SetLastError=true,
CharSet=CharSet.Auto , ExactSpelling=false,
CallingConvention=CallingConvention.StdCall)]
// 说明: 检查卡型是否正确
//调用: icdev: 通讯设备标识符
//返回: <0 错误 =0 正确
public static extern int Chk_4442(int icdev);


[DllImport("Mwic_32.dll", EntryPoint="csc_4442", SetLastError=true,
CharSet=CharSet.Auto, ExactSpelling=true,
CallingConvention=CallingConvention.Winapi)]
//说明: 核对卡密码
//调用: icdev: 通讯设备标识符 len: 密码个数,其值为3 p_string: 密码字符串指针
//返回: <0 错误 =0 密码正确
public static extern int Csc_4442(int icdev, int len, [MarshalAs(UnmanagedType.LPArray)] byte[] p_string);


[DllImport("Mwic_32.dll", EntryPoint="wsc_4442", SetLastError=true,
CharSet=CharSet.Auto, ExactSpelling=true,
CallingConvention=CallingConvention.StdCall)]
//说明: 改写卡密码
//调用: icdev: 通讯设备标识符 len: 密码个数,其值为3 p_string: 新密码地址指针
//返回: <0 错误 =0 正确
public static extern int Wsc_4442(int icdev, int len, string p_string);

[DllImport("Mwic_32.dll", EntryPoint="rsc_4442", CharSet=CharSet.Auto,CallingConvention=CallingConvention.Winapi )]
//说明: 读出卡密码
//调用: icdev: 通讯设备标识符 len: 密码个数,其值为3 p_string: 存放密码地址指针
// 返回: <>0 错误 =0 正确
public static extern int Rsc_4442(int icdev, int len, [MarshalAs(UnmanagedType.LPArray)] byte[] p_string);

[DllImport("Mwic_32.dll", EntryPoint="rsct_4442", SetLastError=true,
CharSet=CharSet.Auto, ExactSpelling=true,
CallingConvention=CallingConvention.StdCall)]
//说明: 读出密码错误计数器值
//调用: icdev: 通讯设备标识符 counter: 密码错误记数值存放指针
//返回: <0 错误 >=0 正确
public static extern int Rsct_4442(int icdev, int counter);


}
}
skywolfma 2006-07-13
  • 打赏
  • 举报
回复
接口问题是最不需要担心的,只要拿钱什么接口源码的都能拿到,主要的还是自己项目的逻辑和需求
icefire702 2006-07-13
  • 打赏
  • 举报
回复
原来是这样啊

110,569

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧