终端则

(一)   基础知识

1byte = 8bit

1byte = 2个16进制数

BCD码:用4位二进制数来表示1位十进制数中的0~9这10个数码,即1bcd码=4bit

(二)   报文结构

报文长度

TPDU头

报文头

应用数据

2字节16进制表示的报文长度(不包括本身)

5字节

12字节

交易数据(不定长度)

TPDU头 =  ID(60H) + 目的地址(N4) + 源地址(N4),长度为10字节,压缩时用BCD码表示为5个字节长度的数值。

报文头 = 应用类别定义(N2 )+软件总版本号(N2) + 终端状态(N1) + 处理要求 (N1)+ 软件分版本号(N6),总长度为12字节,压缩时用BCD码表示为6个字节长度的数值。

上面的参数值大家只需知道有这回事就行了,具体开发时参见开发文档对号入座

(三)   报文域属性和数据格式(以消费报文为例)

================================

[F002]type=[  LLVAR] len=[016]value=[6225561620345170]

[F003]type=[NUMERIC] len=[006] value=[280000]

[F004]type=[ AMOUNT] len=[012] value=[0.02]

[F011]type=[NUMERIC] len=[006] value=[7]

[F022]type=[NUMERIC] len=[003] value=[22]

[F025]type=[NUMERIC] len=[002] value=[82]

[F035]type=[  LLVAR] len=[037]value=[6225561620345170=17061010000015500000]

[F036]type=[ LLLVAR] len=[104] value=[996225561620345170=1561562915590002

170013300000010101017061=000000000000=00000=0000000622556155000004000]

[F037]type=[  ALPHA] len=[012]value=[110153000006]

[F041]type=[  ALPHA] len=[008] value=[05740001]

[F042]type=[  ALPHA] len=[015]value=[000000000000001]

[F049]type=[  ALPHA] len=[003] value=[156]

[F053]type=[NUMERIC] len=[016] value=[600000000000000]

[F064]type=[ BINARY] len=[064] value=[A99E90F8B08FEE85]

================================

16进制报文:

0173600003000060310031100402007020048038C08801166225561620345170280000000000000002000007022082376225561620345170D

1706101000001550000000104996225561620345170D1561562915590002170013300000010101017061D000000000000D00000D00000006

2255615500000400031313031353330303030303630353734303030313030303030303030303030303030313135360600000000000000

A99E90F8B08FEE85

青色背景:报文长度

黄色背景:TUDU头

红色背景:报文头

灰色背景:消息类型

绿色背景:bitmap位图,转成bit显示,

0111000000100000000001001000000000111000110000001000100000000001

“1”代表包含该位置的域

“0”代表不包含该位置的域

首位如果为0表示只有64bit,为1表示有128bit

如下解析图:

(四)   密钥简介

(五)   PIN的加密与解密

(六)   MAC的加密

POS终端采用ECB的加密方式,简述如下:

A)     将欲发送给POS中心的消息中,从消息类型(MIT)到63域之间的部分构成MAC ELEMENT BLOCK(MAB)。

B)     使用ECB算法做加密,取前8个字节作为MAC值

银联Iso8583报文 POS终端报文结构相关推荐

  1. 银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头

    原文: http://blog.csdn.net/lvxiangan/article/details/41014439 加密密钥:KEK,terminal keys encrypting key; K ...

  2. Java解析银联报文_银联ISO8583报文解析过程

    主密钥: aabbccddeeff11223344556677889900 1.从签到报文中获取工作密钥,包括MACKEY明文,PINKEY明文 签到: 12-03-31 16:38:09----&g ...

  3. 【计算机网络】应用层 : 万维网 和 HTTP 协议 ( 万维网概述 | HTTP 协议特点 | HTTP 协议连接方式 | HTTP 协议报文结构 | HTTP 请求报文 | HTTP 响应报文 )

    文章目录 一.万维网概述 ★ 二.HTTP 协议 ( 超文本传输协议 ) ★ 三.HTTP 协议特点 ★ 四.HTTP 连接方式 ★ 五.HTTP 协议报文结构 六.HTTP 请求报文 ★ 七.HTT ...

  4. HTTP报文结构详细讲解(HTTP请求报文和响应报文格式)

    HTTP报文结构 HTTP有两类报文: 请求报文-------从客户向服务器发送请求报文,如图6-12(a) 响应报文-------从服务器到客户的回答,如图6-12(b) 由于HTTP是面向文本的, ...

  5. 北斗终端与计算机传输信息,北斗短报文数据传输终端

    2018年世界标准日的主题是"国际标准与第四次工业革命",第四次工业革命是指技术的大融合,融合技术的发展模糊了传统意义上物理.数字与生物技术领域的边界.卫星导航在人类新一轮科技革命 ...

  6. 银联Pos终端签到、签退、批结算、批上送

    签到:获取pinkey.mackey.批次号 签退:先批结算,然后签退,否则批次号不会更新. 批结算:上送本地pos终端交易流水给服务端,若通过校验则可以进行签退,否则需要批上送交易明细 批上送:批结 ...

  7. 一篇让你彻底了解http请求报文和响应报文的结构

    1.序 用于HTTP协议交互的信息被称为HTTP报文.请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端)的叫做响应报文.HTTP报文本身是由多行数据构成的字符串文本.HTTP报文大致可分为 ...

  8. POS终端“密事”之PIN加解密

    前言 到现在,我们手上拿到了TPK和TAK工作密钥,今天我们就要来讲讲如何对PIN的加密,以及MAC的运算. 工作密钥 以下是我取得今天的工作密钥,那么运用前一章的知识快速计算出TPK和TAK (ps ...

  9. 移动支付之Pos终端主密钥、工作密钥、pin密钥、mac密钥

    下面介绍一下加密机中最主要的几种密钥: 1.加密机主密钥(MK) 加密机主密钥(Master Key - MK)是存入在HSM机内的由三个成分合成的一对最上层密钥.在HSM机器以外的地方不会以明文形式 ...

最新文章

  1. 微信小程序:获取地理定位和显示相应的城市名称。
  2. PyQt:如何给界面自定义背景?
  3. boost::contract模块实现equal的测试程序
  4. zbb20170606 oracle 查看空表
  5. jsp页面路径问题(404)
  6. 怎么退出自适应巡航_简单聊聊定速巡航和自适应定速巡航的区别
  7. 遗传所屠强研究组开发Decode-seq方法显著提高差异表达基因分析的准确性
  8. github api常用操作
  9. python MultipartEncoder
  10. 10.N个整数中查找是否相加为K[深度搜索]
  11. Linux虚拟机-配置文件说明
  12. python (continue与break)区别
  13. 【Spring Boot】28.开发热部署
  14. 1081. Rational Sum (20)-PAT甲级真题
  15. Java本质论之关于Java栈与堆的思考
  16. 中国剩余定理-数硬币
  17. 三维实景地图,从航测到建模,再到可视化平台
  18. KNN算法优缺点总结,以及机器学习流程的总结
  19. 微客侠:解决微信内直接打开淘宝链接
  20. 移动机器人全覆盖路径规划及仿真(三.地图分割)

热门文章

  1. 安装算量哪个好用_安装算量桥架系统模型功能说明
  2. 直播电商正在老去,电商直播永远年轻
  3. IDEA中去掉参数标记
  4. 边缘智能计算之AI芯片
  5. 循序渐进BootstrapVue,开发公司门户网站(5)--- 使用实际数据接口代替本地Mock数据
  6. Proxmox ve 6.2 安装
  7. NB卡 调试学习记录
  8. python实现翻_python实现模拟按键,自动翻页看u17漫画
  9. Android 锁屏时间
  10. php fieldset,html fieldset标签的用法详解