密码键盘软件说明
密码键盘为北京金诚信公司的一款核心产品,我公司多年从事密码键盘的生产、研发、制造和销售,因此公司在密码键盘行业拥有众多的产品,如划卡密码键盘、乱序密码键盘、免填单密码键盘等,下面对金诚信密码键盘的软件使用进行详细说明,以便大家在平时的使用。
1.密码键盘动态库接口说明
1.1 ghc51x.dll
1.1.1通用返回值说明
0: 返回成功;
-1: 创建串口句柄错误:CreateFile Failed!
-2: 建立串口句柄通信错误:SetupComm Failed!
-3: 获取串口状态错误:GetCommState Failed!
-4: 设置串口参数错误:SetCommState Failed!
-5 通讯超时;
-6: 串口号错误
-7: 发送的命令执行失败
1.1.2通用参数说明
Comport 串口号;
Baud 波特率;
DesType 加密键盘类型,0单DES,1是3DES;
MNum 主密钥号;
WNum 工作密钥号;
Mkey 主密钥值;(3DES模式长度为16,DES模式长度为8)
Wkey 工作密钥值;(3DES模式长度为16,DES模式长度为8)
1.1.3密码键盘初始化
int __declspec (dllexport) __stdcall PinInit(int Comport,int Baud);
-7表示键盘初始化命令执行失败;
1.1.4下载主密钥,单DES和3DES通用
int __declspec (dllexport) __stdcall PinMKey(int Comport,int Baud,int DesType,int MNum,char *Oldkey,char *Newkey);
参数说明:
Oldkey 原始的主密钥值;Newkey 更改后的主密钥值;
只有Oldkey与键盘中现有的主密钥值相同时,本函数才能执行成功,否则返回-7;
1.1.5单DES下载工作密钥
int __declspec (dllexport) __stdcall PinWkeyA(int Comport,int Baud,int MNum,int WNum,char *Mkey,char *Wkey);
Wkey为明文形式,此函数表示把明文的工作密钥传到密码键盘中,在密码键盘中经过主密钥加密工作密钥,作为用户密钥。Mkey、Wkey长度为8.
-7表示执行下载工作密钥命令失败;
1.1.6 3DES下载工作密钥
int __declspec (dllexport) __stdcall Pin3DesWkeyA(int Comport,int Baud,int MNum,int WNum,char *Mkey,char *Wkey);
Wkey为明文形式,此函数表示把明文的工作密钥传到密码键盘中,在密码键盘中经过主密钥加密工作密钥,作为用户密钥。Mkey、Wkey长度为16.
-7表示执行下载工作密钥命令失败;
1.1.7 PINBLOCK读取密文
int __declspec (dllexport) __stdcall PinBlockInput(struct pinblockinput *input);
struct pinblockinput
{
int Comport; //串口号
int Baud; //波特率
int DesType; //加密键盘类型,0单DES,1是3DES
int MNum; //主密钥号
int WNum; //工作密钥号
char Wkey[32]; //工作密钥值单des8字节,3des16字节,此密钥是工作密钥经过相应主密钥加密后的密文,格式转换为woAsciiToHex后实际输入32
char Count[24]; //账号12字节,格式转换为TwoAsciiToHex后实际输入24
char Pin[16]; //输出密码
};
1.1.8 读取DES密码键盘密码
int __declspec (dllexport) __stdcall PinInput(struct pininput *input);
struct pininput
{
int Comport; //串口号
int Baud; //波特率
int MNum; //主密钥号
int WNum; //工作密钥号
int Type; //第几次读取,1或2
int Des; //返回明文还是密文,0为明文,1为密文,若选择密文,则下面的工作密钥值可以不输入
char Wkey[8];//工作密钥值8字节,工作密钥为原始的工作密钥
char Pin[16];//输出密码
};
1.1.9 读取3DES密码键盘密码
int __declspec (dllexport) __stdcall Pin3DesInput(struct pin3desinput *input);