键盘命令总结

  • 格式:doc
  • 大小:127.52 KB
  • 文档页数:11

命令总结 常规命令 定义:命令中无数据,且回送为明文的命令。 Command 功能 回送 0x80 关密码键盘 无 0x81 请再输入一次密码 实达通用版 0x82 请输入密码 实达通用版 0x83 关密码键盘 无 0x86 请输入密码 明文 ESC [ / 1 请输入密码 明文 ESC [ / 2 请再输入一次密码 明文 ESC [ / 3 关密码键盘 无 01H 请再输入一次密码 02H 请输入密码 03H 关闭密码键盘 04H 请再输入一次密码 ESC I 请输入密码 实达工行版 ESC E 请再输入一次密码 ESC M 请输入密码 ESC L 请再输入一次密码 ESC F ESC I 请输入密码 ESC F ESC E 请再输入一次密码 ESC G 取数据 ESC N ## 设定密码长度 ESC D 1 #str CR LF 小键盘回显数据 ESC D 2 #str CR LF 小键盘回显数据

注意密码长度限制问题 加密命令 根据不同厂家归类一下几种命令。 国光系列

交行类 现介绍如下: 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字符。 响应数据包格式: 〔pin block〕 其中pin biock为加密后的密文,为16个字节的ASCII字符 需要与命令3联合使用 5. 接受并且加密PIN 数据包格式: 15〔20〕〔working_key〕〔account〕 其中15为数据包功能号;20为数据包长度,32个字节;working_key为用当前master_key 加密的密文,为16个字节的ASCII字符;account为持卡人的16为卡号,为16个字节的ASCII字符。 响应数据包格式: 〔pin block〕 其中pin block为持卡人PIN加密后的密文,为16个字节的ASCII字符 6. 设置mac_key 数据包格式: 0F〔mac_key〕 其中0F为数据包功能号;mac_key为用当前master_key加密的密文,为16个字节的ASCII字符。 需要与命令7,9联合使用 7. 计算MAC 数据包格式: 10〔data block len〕〔data block〕 其中10为数据包功能号;data block len为data block的长度,必须是16个字节的倍数;data block为参加MAC计算的数据,为16个字节倍数的ASCII字符。 响应数据包格式: 〔MAC〕 其中MAC为16个字节的ASCII字符。 需要与命令6联合使用 8. 计算MAC 数据包格式: 16〔packet len〕〔mac key〕〔data block〕 其中16为数据包功能号;packet len为data block的长度+16(mac key长度),必须是16个字节的倍数;mac key为用当前mac key加密的密文,为16个字节的ASCII字符;data block为参加MAC计算的数据,为16个字节倍数的ASCII字符。 响应数据包格式: 〔MAC〕 其中MAC为16个字节的ASCII字符 9. 计算MAC 数据包格式: 1D〔data block len〕〔data block〕 其中1D为数据包功能号:data block len为data block的长度,必须是8个字节的倍数;data block为参加MAC计算的数据,为8个字节倍数的BCD码十六进制数。 响应数据包格式: 〔MAC〕 其中MAC为16个字节的ASCII字符。 需要与命令6联合使用 10.计算MAC 数据包格式: 1C〔packet len〕〔mac_key〕〔data block〕 其中1C为数据包功能号;packet len为data block的长度+8(mac key长度),必须是8个字节的倍数;mac key为用当前master_key加密的密文,为8个字节的BCD码十六进制数;data block为参加MAC计算的数据,为8个字节倍数的BCD码十六进制数。 响应数据包格式: 〔MAC〕 其中MAC为16个 字节的ASCII字符。

11.修改持卡人PIN 请求数据包格式: 0E〔account〕 其中0E为数据包功能号;account为持卡人的16位卡号,为16个字节的ASCII字符。 响应数据包格式:〔old pin block〕〔new pin block〕 其中old pin block为持卡人旧PIN加密后的密文,为16个字节的ASCII字符;new pin block为持卡人新PIN加密后的密文,为16个字节的ASCII字符。 需要与命令3联合使用 12.修改持卡人PIN 请求数据包格式: 1B〔20〕〔working_key〕〔account〕 其中1B为数据包功能号;20为数据包长度,32个字节;working_key为用当前master_key加密的密文,为16个字节的ASCII字符;account为持卡人的16位卡号,为16个字节的ASCII字符。 响应数据包格式: 〔old pin block〕〔new pin block〕 其中old pin block为持卡人旧PIN加密的密文,为16个字节的ASCII字符,new pin block为持卡人新PIN加密后的密文,为16个字节的ASCII字符。 13.显示停留在显示屏上,除非下一数据包刷新显示屏 请求数据包格式: 18〔display line〕〔display time〕〔message len〕〔message〕 其中18为数据包功能号;display lin为在显示屏上显示字符串的行号,如果display lin=01,则在显示屏的第一行显示,如果display lin=02,则在显示屏的第二行显示;display time为显示字符串在显示屏上停留的时间,在此数据包中此项参数实际上无用,长度为1个字节,0-OFF均可;message len为显示字符串message长度;message为显示字符串,在数据包中以ASCII表示,长度为0~F个字符。 14.显示停留在显示屏上一定时间后自动刷新,停留时间个控制 请求数据包格式: 19〔display line〕〔display time〕〔message len〕〔message〕 其中19为数据包功能号;display line为在显示屏上显示字符串的行号,如果display line=01,则在显示屏的第一行显示,如果display line=02,则在显示屏的第二行显示;display time为显示字符串在显示屏上停留的时间,长度为1个字节,0—OFF均可,表示显示字符串在显示屏停留0—FF秒,之后显示屏自动刷新;message len为显示字符串message长度;message为显示字符串,在数据包中以ASCII表示,长度为0~F个字节。

15.在密码键盘上显示固定提示信息 请求数据包格式: 1A〔display line〕〔fixed prompt number〕 其中1A为数据包功能号;display line为在显示屏上显示固定提示信息的行号,如果display line=01,则在显示屏的第一行显示,如果display line=02,则在显示屏的第二行显示;fixed prompt number为固定提示信息号码,长度为一个字节,其与固定提示信息内容的对应关系如下: 0. 1. 正在处理中… 2. 请输入密码: 3. 您的帐户余额为: 4. 输入日期:MMDDYY 5. 无效密码! 6. 请稍候… 7. 正在打印… 8. 交易成功!