【8583】ISO8583报文解析
ISO8583报文(简称8583包)又称8583报文,是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。
【报文格式】
POS终端上送POS中心的消息报文结构包括TPDU、报文头和应用数据三部分:

TPDU:长度为10个字节,压缩时用BCD码表示为5个字节长度的数值。
报文头:总长度为12字节,压缩时用BCD码表示为6个字节长度的数值。
在POS上送的请求/通知报文中,该数值由POS终端应用程序在打包上送时根据POS终端参数和当前状态填入应用类别、软件总版本号、终端状态和软件分版本号(具体指各厂商的程序版本号),用于POS中心根据数值进行相应的处理。
在POS中心返回的应答报文中,由POS中心填入处理要求,其他域保持原值返回,POS将根据收到报文头中的处理要求进行相应处理。
ISO8583Msg:信息类型域(2字节)+位图域(一般8字节,如果使用到65~128域则为16字节)+报文数据域。
【示例】
8583报文大部分情况下用在POS终端与后台收单系统的数据交换,一般情况下一段完整的报文由以下几个部分组成:
[长度(2字节)] + [TPDU(5字节)]+[报文头(6字节)]+[8583数据]
例如,一个签到报文报文:
003B600006000060220000000008000020000000C000120012473538443031313135383837353844303438313635353535001100000001003000023031
报文长度:00 3B=59个字节
TPDU:60 00 06 00 00
Header:60 22 00 00 00 00
ISO8583Msg:信息类型0800 + 位图0020000000C00012 + 各域数据。
由位图数据可得域是11 41 42 60 63,再看规范中的各域信息定义可知:
11域:00 12 47
41域:35 38 44 30 31 31 31 35
42域:38 38 37 35 38 44 30 34 38 31 36 35 35 35 35
60域:00 11 00 00 00 01 00 30
63域:00 02 30 31
参考摘录:
https://www.2cto.com/kf/201607/528427.html
https://www.cnblogs.com/yiyi16801/p/7442316.html
https://blog.csdn.net/qq282881515/article/details/52004796
【8583】ISO8583报文解析的更多相关文章
- ISO8583报文解析
在此只写了一个8583报文的拆包,组包其实也差不多的. 不多说直接上文件, 具体思路过程,在解析类里面写的有. 其中包含了四个文件 8583resp.txt报文 ISO8583medata配置文件 B ...
- [性能测试]:ISO8583报文解析实例
现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00 60 31 00 31 07 30 02 00 30 20 04 C0 20 C0 98 11 00 00 00 0 ...
- 银联ISO8583报文解析过程
主密钥: aabbccddeeff11223344556677889900 1.从签到报文中获取工作密钥,包括MACKEY明文,PINKEY明文 签到: 12-03-31 16:38:09----&g ...
- (转载)解析ISO8583报文实例
本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面下载. 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00(前五个字节为TPDU) 60 31 ...
- 解析ISO8583报文实例
http://www.cnblogs.com/1971ruru/archive/2012/12/10/2811549.html 本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面 ...
- ISO8583报文协议
最开始时,金融系统只有IBM这些大的公司来提供设备,象各种主机与终端等.在各个计算机设备之间,需要交换数据.我们知道数据是通过网络来传送的,而在网络上传送的数据都是基于0或1这样的二进制数据,如果没有 ...
- 轻松掌握ISO8583报文协议
http://www.itpub.net/thread-419521-1-1.html 我刚进入金融行业时,就知道了IS08583报文协议,我想可能我还没进入这个行业都已经听过了,可知ISO8583的 ...
- 报文解析及CRC类
/// <summary> /// 报文解析转换类 /// </summary> public class DatagramConvert { public static En ...
- 基于DPI(深度报文解析)的应用识别
一.概述 1.DPI(Deep packet inspection,深度报文解析) 所谓“深度”是和普通的报文分析层次相比较而言的,“普通报文检测”仅分析IP包4 层以下的内容,包括源地址.目的地址. ...
随机推荐
- 6.单表的CRUD操作
1.插入后用新id初始化被插入对象 <insert id="insertStudentCatchId"> insert into student (age,name,s ...
- MySQL备份--xtrabackup与mysqldump工具使用
MySQL备份----xtrabackup与mysqldump工具的使用 一.Xtrabackup8.0: 一个用于MySQL数据库物理热备的备份工具,支持MySQL.Percona server和M ...
- sql 语句用法
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname 3.说明:备份sql server--- 创建 ...
- python打包工具distutils、setuptools的使用
python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install 包名(window) ...
- CSS基础学习 17.CSS动画
- 虚拟机挂载U盘
1.打开运行窗口输入services.msc回车 2.启动VMware USB Arbitration Service 3.打开虚拟机 进入编辑虚拟机设置 4.选择USB3.0 复选框全部勾选,点击 ...
- web form 服务器控件表单验证
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ValidationDemo ...
- composer查看全局配置
composer config -l -g composer 更新慢 composer下载不下来问题解决 使用 Composer 镜像加速有两种选项: 选项一:全局配置,这样所有项目都能惠及(推荐): ...
- hybird(h5)页面自动化测试
- PHP mysqli_insert_id() 函数
定义和用法 mysqli_insert_id() 函数返回最后一个查询中自动生成的 ID(通过 AUTO_INCREMENT 生成). 语法 mysqli_insert_id(connection); ...