键盘命令总结.docx

上传人:b****8 文档编号:23758650 上传时间:2023-05-20 格式:DOCX 页数:25 大小:21.92KB
下载 相关 举报
键盘命令总结.docx_第1页
第1页 / 共25页
键盘命令总结.docx_第2页
第2页 / 共25页
键盘命令总结.docx_第3页
第3页 / 共25页
键盘命令总结.docx_第4页
第4页 / 共25页
键盘命令总结.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

键盘命令总结.docx

《键盘命令总结.docx》由会员分享,可在线阅读,更多相关《键盘命令总结.docx(25页珍藏版)》请在冰豆网上搜索。

键盘命令总结.docx

键盘命令总结

命令总结

常规命令

定义:

命令中无数据,且回送为明文的命令。

Command

功能

回送

0x80

关密码键盘

0x81

请再输入一次密码

实达通用版

0x82

请输入密码

实达通用版

0x83

关密码键盘

0x86

请输入密码

明文

ESC[/1

请输入密码

明文

ESC[/2

请再输入一次密码

明文

ESC[/3

关密码键盘

01H

请再输入一次密码

02H

请输入密码

03H

关闭密码键盘

04H

请再输入一次密码

ESCI

请输入密码

实达工行版

ESCE

请再输入一次密码

ESCM

请输入密码

ESCL

请再输入一次密码

ESCFESCI

请输入密码

ESCFESCE

请再输入一次密码

ESCG

取数据

ESCN##

设定密码长度

ESCD1#strCRLF

小键盘回显数据

ESCD2#strCRLF

小键盘回显数据

注意密码长度限制问题

加密命令

根据不同厂家归类一下几种命令。

国光系列

交行类

现介绍如下:

1.命令格式

Command格式:

命令字符命令辅助字符命令头命令数据命令尾

注意:

以下指令中的数据均为16进制数,除指令七外,如果请求数据包和响应数据包中有ASCII字符,则16进制数30~39表示ASCII字符‘0’~‘9’,十六进制3A~3F表示ASCII字符‘A’~‘F’。

命令介绍:

1.设置master_key

数据包格式:

12〔address〕〔master_key〕

其中12为数据包功能号;address为master_key地址,长度为一个字节,范围:

0~9;master_key为16个字节的ASCII字符(明文)。

2.选择master_key

数据包格式:

14〔address〕

其中14为数据包功能号;address为master_key地址,长度为一个字节,范围:

0~9。

3.设置working_key

数据包格式:

0D〔working_key〕

其中0D为数据包功能号;working_key为用当前master_key加密的密文,为16个字节的ASCII字符。

需要与命令4,11联合使用

4.接受并且加密PIN

数据包格式:

0C〔account〕

其中0C为数据包功能号;account为持卡人的16为卡号,为16个字节的ASCII字符。

响应数据包格式:

〔pinblock〕

其中pinbiock为加密后的密文,为16个字节的ASCII字符

需要与命令3联合使用

5.接受并且加密PIN

数据包格式:

15〔20〕〔working_key〕〔account〕

其中15为数据包功能号;20为数据包长度,32个字节;working_key为用当前master_key

加密的密文,为16个字节的ASCII字符;account为持卡人的16为卡号,为16个字节的ASCII字符。

响应数据包格式:

〔pinblock〕

其中pinblock为持卡人PIN加密后的密文,为16个字节的ASCII字符

6.设置mac_key

数据包格式:

0F〔mac_key〕

其中0F为数据包功能号;mac_key为用当前master_key加密的密文,为16个字节的ASCII字符。

需要与命令7,9联合使用

7.计算MAC

数据包格式:

10〔datablocklen〕〔datablock〕

其中10为数据包功能号;datablocklen为datablock的长度,必须是16个字节的倍数;datablock为参加MAC计算的数据,为16个字节倍数的ASCII字符。

响应数据包格式:

〔MAC〕

其中MAC为16个字节的ASCII字符。

需要与命令6联合使用

8.计算MAC

数据包格式:

16〔packetlen〕〔mackey〕〔datablock〕

其中16为数据包功能号;packetlen为datablock的长度+16(mackey长度),必须是16个字节的倍数;mackey为用当前mackey加密的密文,为16个字节的ASCII字符;datablock为参加MAC计算的数据,为16个字节倍数的ASCII字符。

响应数据包格式:

〔MAC〕

其中MAC为16个字节的ASCII字符

9.计算MAC

数据包格式:

1D〔datablocklen〕〔datablock〕

其中1D为数据包功能号:

datablocklen为datablock的长度,必须是8个字节的倍数;datablock为参加MAC计算的数据,为8个字节倍数的BCD码十六进制数。

响应数据包格式:

〔MAC〕

其中MAC为16个字节的ASCII字符。

需要与命令6联合使用

10.计算MAC

数据包格式:

1C〔packetlen〕〔mac_key〕〔datablock〕

其中1C为数据包功能号;packetlen为datablock的长度+8(mackey长度),必须是8个字节的倍数;mackey为用当前master_key加密的密文,为8个字节的BCD码十六进制数;datablock为参加MAC计算的数据,为8个字节倍数的BCD码十六进制数。

响应数据包格式:

〔MAC〕

其中MAC为16个字节的ASCII字符。

11.修改持卡人PIN

请求数据包格式:

0E〔account〕

其中0E为数据包功能号;account为持卡人的16位卡号,为16个字节的ASCII字符。

响应数据包格式:

〔oldpinblock〕〔newpinblock〕

其中oldpinblock为持卡人旧PIN加密后的密文,为16个字节的ASCII字符;newpinblock为持卡人新PIN加密后的密文,为16个字节的ASCII字符。

需要与命令3联合使用

12.修改持卡人PIN

请求数据包格式:

1B〔20〕〔working_key〕〔account〕

其中1B为数据包功能号;20为数据包长度,32个字节;working_key为用当前master_key加密的密文,为16个字节的ASCII字符;account为持卡人的16位卡号,为16个字节的ASCII字符。

响应数据包格式:

〔oldpinblock〕〔newpinblock〕

其中oldpinblock为持卡人旧PIN加密的密文,为16个字节的ASCII字符,newpinblock为持卡人新PIN加密后的密文,为16个字节的ASCII字符。

13.显示停留在显示屏上,除非下一数据包刷新显示屏

请求数据包格式:

18〔displayline〕〔displaytime〕〔messagelen〕〔message〕

其中18为数据包功能号;displaylin为在显示屏上显示字符串的行号,如果displaylin=01,则在显示屏的第一行显示,如果displaylin=02,则在显示屏的第二行显示;displaytime为显示字符串在显示屏上停留的时间,在此数据包中此项参数实际上无用,长度为1个字节,0-OFF均可;messagelen为显示字符串message长度;message为显示字符串,在数据包中以ASCII表示,长度为0~F个字符。

14.显示停留在显示屏上一定时间后自动刷新,停留时间个控制

请求数据包格式:

19〔displayline〕〔displaytime〕〔messagelen〕〔message〕

其中19为数据包功能号;displayline为在显示屏上显示字符串的行号,如果displayline=01,则在显示屏的第一行显示,如果displayline=02,则在显示屏的第二行显示;displaytime为显示字符串在显示屏上停留的时间,长度为1个字节,0—OFF均可,表示显示字符串在显示屏停留0—FF秒,之后显示屏自动刷新;messagelen为显示字符串message长度;message为显示字符串,在数据包中以ASCII表示,长度为0~F个字节。

15.在密码键盘上显示固定提示信息

请求数据包格式:

1A〔displayline〕〔fixedpromptnumber〕

其中1A为数据包功能号;displayline为在显示屏上显示固定提示信息的行号,如果displayline=01,则在显示屏的第一行显示,如果displayline=02,则在显示屏的第二行显示;fixedpromptnumber为固定提示信息号码,长度为一个字节,其与固定提示信息内容的对应关系如下:

0.

1.正在处理中…

2.请输入密码:

3.您的帐户余额为:

4.输入日期:

MMDDYY

5.无效密码!

6.请稍候…

7.正在打印…

8.交易成功!

9.成功!

A.请重新输入:

B.请输入有效期:

YYMM

C.谢谢您!

D.请确认金额:

E.请确认取款金额:

F.请确认存款金额:

10.请确认消费金额:

12.请确认授权金额:

14.请确认转帐金额:

15.交易失败!

16.正在通讯…

17.系统故障

18.暂停营业

19.欢迎您使用

1A.国光密码键盘

1B.密码键盘

1C.国光

1D.您输入的密码错

1E.请重新输入密码:

16.请求密码键盘传输响应数据包

请求数据包格式:

1E

其中1E为数据包功能号。

响应数据包格式:

[responsedatablocklen][responsedatablock]

以上有响应数据包的功能,其请求数据包发出后,响应数据包格式如上,其中responsedatablocklen为密码键盘已准备好的responsedatablock(响应数据包)长度,为十六进制数12或者22。

responsedatablock(响应数据包)格式同以上各功能相应的响应数据包。

17.请求数据包中加密密钥为经master_key加密的密文

请求数据包格式:

05[packetlen][cipher_key][datablock]

其中05为数据包功能号;packetlen为datablock的长度+8(cipher_key长度),必须是8个字节的倍数;cipher_key为用当前master_key加密的密文,为8个字节的BCD码十六进制数;datablock为请求加密的数据块,为8个字节倍数的BCD码十六进制数。

响应数据包格式:

[encrypted_data_block]

其中encrypted_data_block为请求数据包中(datablock的长度)×2个字节的ASCII字符。

18.请求数据包中加密密钥为明文

请求数据包格式:

20[packetlen][plain_key][datablock]

其中20为数据包功能号;packetlen为datablock的长度+8(plain_key长度),必须是8个字节的倍数;plain_key为加密数据块密钥的明文,为8个字节的BCD码十六进制数;datablock为请求加密的数据块,为8个字节倍数的BCD码十六进制数。

响应数据包格式:

[encrypted_data_block]

其中encrypted_data_block为请求数据包中(datablock的长度)2个字节的ASCII字符。

19.请求数据包中加密密钥为经master_key加密的密文

请求数据包格式:

06[packetlen][cipher_key][datablock]

其中06为数据包功能号;packetlen为datablock的长度+8(cipher_key长度),必须是8个字节的倍数;cipher_key为用当前master_key加密的密文,为8个字节的BCD码十六进制数;datablock为请求解密的数据块,为8个字节倍数的BCD码十六进制数。

响应数据包格式:

[decrypted_data_block]

其中decrypted_data_block为请求数据包中(datablock的长度)×2个字节的ASCII字符。

20.请求数据包中解密密钥为明文

请求数据包格式:

21[packetlen][plain_key][datablock]

其中21为数据包功能号;packetlen为datablock的长度+8(plain_key长度),必须是8个字节的倍数;plain_key为解密数据块密钥的明文,为8个字节的BCD码十六进制数;datablock为请求解密的数据块,为8个字节倍数的BCD码十六进制数。

响应数据包格式:

[decrypted_data_block]

其中decrypted_data_block为请求数据包中(datablock的长度)×2个字节的ASCII字符。

以上为最常规的交行命令,命令不全,请参看5.173

第二类

请注意:

以下指令中的数据均为十六进制数,请求数据包和响应数据包中的密钥和密文数据均是拆分传输,

拆分规则:

把每个BYTE分成高低四位,转换成两个BYTE的16进制数的字符,

如例:

34H-33H34H,5AH-35H41H,CFH-43H46H

加密

按键必须按确认键结束回送密码,否则一直等待;密码长度4~12位。

响应数据包格式:

〔10〕〔pinblock〕

一、设置master_key

请求数据包格式:

1B4D〔master_keyaddress〕〔master_key〕

其中4D为数据包功能号;master_keyaddress为master_key地址,长度一个字节,范围:

0~7;master_key为拆分的之后的16个字节的ASCII字符(明文)。

响应数据包格式:

正确:

AAH

错误:

55H

二、设置working_key

请求数据包格式:

1B57〔master_keyaddress〕〔working_keyaddress〕〔working_key〕

其中57为数据包功能号;master_keyaddress为master_key地址,长度一个字节,范围:

0~7;working_keyaddress为working_key地址,长度一个字节,范围:

0~7;working_key为用

master_keyaddress所对应的master_key加密的密文,为拆分之后的16个字节的ASCII字符。

响应数据包格式:

正确:

AAH

错误:

55H

三、恢复出厂设置

请求数据包格式:

1B52

其中52为数据包功能号;将密码键盘初始化成8组主密钥全为8个38H,8组工作密钥全为8个30H。

响应数据包格式:

正确:

AAH

错误:

55H

四、设置单DES模式

请求数据包格式:

1B41〔working_keyaddress〕

其中41为数据包功能号;working_keyaddress为working_key地址,长度一个字节,

范围:

0~7;

响应数据包格式:

正确:

AAH

错误:

55H

五、设置3DES模式

请求数据包格式:

1B42〔working_keyaddress1〕〔working_keyaddress2〕〔working_keyaddress3〕

其中42为数据包功能号;working_keyaddress1、working_keyaddress2、

working_keyaddress3均为working_key地址,长度均一个字节,范围:

0~7;

响应数据包格式:

正确:

AAH

错误:

55H

六、激活密码键盘(ANSI9.8方式)

请求数据包格式:

1B4630Account

Account:

16字节的帐号

密码键盘提示:

请输入密码;

响应数据包格式:

〔10〕〔pinblock〕

七、激活密码键盘(ANSI9.8方式)

请求数据包格式:

1B4631Account

Account:

16字节的帐号

密码键盘提示:

请再输入一次;

响应数据包格式:

〔10〕〔pinblock〕

 

第三类

 

注意此套命令的密钥为即送即用

命令1:

1BHF60D0A

功能:

输入密码

备注:

语音“您好,请输入密码”,密码长度4位――8位

操作:

按键

回送:

格式为02Hlongdesdata,long为回送数据长度,desdata为加密后的密文

命令2:

1BHF70D0A

功能:

输入密码

备注:

语音“请再输入一次密码”,密码长度4位――8位

操作:

按键

回送:

格式为02Hlongdesdata,long为回送数据长度,desdata为加密后的密文

命令3:

1BHE60D0A

功能:

输入密码

备注:

语音“您好,请输入密码”,密码长度4位――12位

操作:

按键

回送:

命令4:

1BHE70D0A

功能:

输入密码

备注:

语音“请再输入一次密码”,密码长度4位――12位

操作:

按键

回送:

命令5:

mmkeyaddromkeynmkey0D0A

功能:

修改主密钥

备注:

mkeyaddr为主密钥号,长度一个字节,无意义omkey为原主密钥(经过拆分后的16字节数),无意义,nmkey为原主密钥(经过拆分后的16字节数)

操作:

回送:

正确02H02H4FH4BH错误02H02H45H52H

命令6:

1BHkmkeyaddrwkeyaddrnwkey0DH0AH

功能:

修改工作密钥

备注:

mkeyaddr为主密钥号,长度一个字节,无意义,wkeyaddr为工作密钥,长度一个字节,nwkey为新工作密钥(经过拆分后的16字节数)

操作:

回送:

正确02H02H4FH4BH错误02H02H45H52H

命令7:

1BHR0DH0AH

功能:

复位

备注:

修改工作密钥为00000000

操作:

回送:

04H

命令8:

1BHG0DH0AH

功能:

取数据包

备注:

格式为02Hlongdesdata,long为回送数据长度,desdata为加密后的密文

操作:

回送:

正确02H02H4FH4BH错误02H02H45H52H

第四类

1.ESCF0CRLF(0x1B0x460x300x0D0x0A)

功能:

语音提示“您好,请输入密码”,液晶显示“INPUTPASSWORD”/“请输入密码”/绿灯亮,红灯灭,允许输入。

输入密码和当前密钥一同作DES加密运算,产生密文经拆分

后一同送入主系统。

数据返回格式为STX(0x02)SLE(0x10)STRING(16字节字符串)

2.ESCF1CRLF(0x1B0x460x310x0D0x0A)

功能:

语音提示“请再输入一次密码”,液晶显示“PLEASERETRY”/“请再输入密码”/绿灯

灭,红灯亮,允许输入。

输入密码和当前密钥一同作DES加密运算,产生密文经拆分

后一同送入主系统。

数据返回格式为STX(0x02)SLE(0x10)STRING(16字节字符串)

3.ESCMPOKNKCRLF(0x1B0x4DPOKNK0x0D0x0A)

功能:

修改密码键盘主密钥。

备注:

只有原主密钥等于机内主密钥时才能修改。

P主密钥区号(0x00=

16字节的经拆分后的原主密钥,NK为16字节的经拆分后的新主密钥。

命令完成后,若

成功则返回0xAA,失败返回0x55。

4.ESCUMNMKUKCRLF(0x1B0x55MNMKUK0x0D0x0A)

功能:

修改密码键盘主密钥号为M工作密钥为N的工作密钥。

备注:

只有下传主密钥等于机内主密钥时才能修改。

M主密钥区号(0x00=

的经拆分后的工作密钥,命令完成后,若成功则返回0xAA,失败返回0x55。

5.ESCSMNLSSCRLF(0x1B0x53MNLSS0x0D0x0A)

功能:

修改密码键盘主密钥号为M工作密钥为N的工作密钥。

备注:

将长度为LS(字符串长度=0x10)的S(经过拆分)进行DES解密,然后将结果作为主密钥号M((0x00=

6.ESCAMNCRLF(0x1B0x41MN0x0D0x0A)

功能:

激活主密钥为M工作密钥为N的工作密钥。

备注:

M(主密钥号)(0x00=

7.ESCRCRLF(0x1B0x520x0D0x0A)

功能:

将密码键盘复位成出厂状态。

备注:

出厂状态主密钥全为88888888工作密钥全为00000000激活主密钥号为0工作密钥号为0的工作密钥。

命令完成后,若成功则返回0xAA,失败则返回0x55。

8.ESCH0LENDATACRLF(0x1B0x480x30LENDATA0x0D0x0A)

功能:

将长度为LEN(LEN=0x10)的DATA(经过拆分)和当前密钥一同作DES加密运算,命令完

成后若成功回送0xAA产生密文暂存于加密键盘内,失败回送0x55。

若收到取数命令

ESC+G+0D+0A则按下述格式返回

数据返回格式为STX(0x02)SLE(0x10)STRING(16字节字符串)

9.ESCH1LENDATACRLF(0x1B0x480x31LENDATA0x0D0x0A)

功能:

将长度为LEN(LEN=0x10)的DATA(经过拆分)和当前密钥一同作DE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1