java 8583报文解析_8583报文解析实例

本文围绕主机从网控器收到的消费数据包展开,详细介绍了8583报文的解包分析过程,包括数据开始、长度、地址、交易信息码、位图等内容。同时,对数据元进行了解包分析,涵盖处理代码、交易金额、系统流水号等多个域,明确各域的格式和原始数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是主机从网控器收到的消费数据包(用二位十六进制数表示一个字节):

0201 06 60 00 07 08 08 |02 00 30 20 05 00 20 c0

02 0100 40 00 00 00 00  00 99 80 00 00 01 00 21

00 0337 62 14 02 10 00  07 41 50 78 d1 56 07 12

20 10 00 00 00 0031 32  33 34 35 36 37 38 30 34

33 20 20 20 20 20 20 20  20 20 20 20 20c5 8e b2

00 18 03 1e 9a00 06 30  30 30 30 30 31 00 06 30

30 30 30 30 3000 06 30  30 30 30 30 31|03 22

备注:|…|之间是8583数据包(|是人为加的);颜色只作为各个域区分,没其他含义。

解包分析:

02表示是数据开始

01 06表示后面数据长度为106个字节(在06到结束符03

之间,不包括03字符,即8583包)

60 00 07 08 08是网控tpdu的地址

02 00                    8583包开始,表示交易信息码message_id

消费信息码为0200

30 20 05 00 20 c0 02 01是数据包的位图,8个字节,64位,3的二进制0011

第一位为0,所以没有扩展位图,二进制展开后如下域

有信息:   3 4 11 22 24 35 41 42 52 60 61 62

03是数据结束  ??

31是crc校验:02后面开始,即从01开始到03之间字  ??

节(包括03)异或的结果。??

数据元解包分析:实据元是从位图后开始,到03结束之前。

位图分析有3 4 11 22 24 35 41 42 52 60 61 62域的信息

格式说明:

a表示字符,

n表示数字,

s表示特殊字符,

b二进制数据

第3域:

名称:处理代码

格式:n6(固定长度为6的数字)

截取字符:00 40 00

原始数据:“004000”。

第4域:

名称:交易金额

格式:n12

截取字符:00 00 00 00 99 80

原始数据:99.80

第11域:

名称:系统流水号

格式:n6

截取字符:00 00 01

原始数据:000001

第22域:

名称:服务点方式

格式:n3

截取字符:00 21

原始数据: “021”

第24域:

名称:国际网络识别符

格式:n3

截取字符:00 03

原始数据:“003”

第35域:

名称:第2磁道数据

格式:llvar

长度为37,取整后有19个字符

截取字符:37 62 14 02 10 00  07 41 50 78 d1 56 07 12 20 10 00 00 00 00

原始数据:62 14 02 10 00 07 41 50 78 d1 56 07 12 20 10 00 00 00 0

第41域:

名称:终端号

格式:ans8 (字母,数字,特殊字符皆可,长度为8)

截取字符:31 32  33 34 35 36 37 38

原始数据:“12345678”

第42域:

名称:商户号

格式:ans15

截取字符:30 34 33 20 20 20 20 20 20 20  20 20 20 20 20

原始数据:“043”

第52域:

名称:个人密码

格式:b64 (表示二进制数据64位)

截取字符:c5 8e b2 00 18 03 1e 9a

原始数据:c5 8e b2 00 18 03 1e 9a

第60域:

名称:保留使用(实际存放pos的批次号)

格式:lllvar

长度为00 06

截取字符:00 06 30 30 30 30 30 31

原始数据:“000001”

第61域:

名称:保留使用(实际存放操作员和操作员密码)

格式:lllvar

长度为00 06

截取字符:00 06 30 30 30 30 30 30

原始数据:“000000”00操作员,0000密码

第62域:

名称:保留使用(实际存放pos的票据号)

格式:lllvar

长度为00 06

截取字符:00 06 30 30 30 30 30 31

原始数据:“000001”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值