# Bitmap-8583-Analysis **Repository Path**: zhuquehxb/Bitmap-8583-Analysis ## Basic Information - **Project Name**: Bitmap-8583-Analysis - **Description**: 首先分析8583位图,然后对8583报文进行自动化拆分。分别作了两个版本:for windows 和 for LINUX。 - **Primary Language**: Python - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-02-17 - **Last Updated**: 2021-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 8583-Bitmap-Analysis 本工具仅对8583报文体根据《中国银联银行卡联网联合技术规范v2.1_第2部分_报文接口规范》文档(8583.conf)进行解析,解析成功后写入自定义的文档,可以使用excel导入。 根据平台不同,分别作了两个版本:for windows 和 for LINUX。 **for windows**: 1、运行环境:安装python3的windows机器,机器配置不做要求 2、命令:cmd下进入8583_analysis_for_win.py目录,执行python 8583_analysis_for_win.py回车 **for Linux**: 1、运行环境:linux机器默认自带python2环境,无需安装python 2、命令:cd进入8583_analysis_for_Linux.py目录,执行python 8583_analysis_for_Linux.py回车 ## **8583位图三种格式要求**: f2 3e 40 81 8a d0 80 98 00 00 00 00 10 00 00 20 f23e40818ad080980000000010000020 \xf2\x3e\x40\x81\x8a\xd0\x80\x98\x00\x00\x00\x00\x10\x00\x00\x20 以上三种,有无空格均可,代码中工作了过滤,输入时不要换行 **8583报文体格式**: _十进制格式(举例)_: [166226302610494713300000000000000000092119144138839919144109299912060115200004025004020000010300583706015367013043301549900040280156022AB 0300000020003001000000000000000000350000000000000000000000 CUP00013CUP080000000004600 029860736081 ] _16进制格式(举例)_: [\x31\x36\x36\x32\x32\x36\x33\x30\x32\x36\x31\x30\x34\x39\x34 \x37\x31\x33\x33\x30\x30\x30\x30 \x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x39\x32\x31\x31\x39\x31\x34\x34\x31\x33\x38\x38\x33\x39\x39\x31\x39\x31\x34\x34\x31\x30\x39\x32\x39\x39\x39\x31\x32\x30\x36\x30\x31\x31\x35\x32\x30\x30\x30\x30\x34\x30\x32\x35\x30\x30\x34\x30\x32\x30\x30\x30\x30\x30\x31\x30\x33\x30\x30\x35\x38\x33\x37\x30\x36\x30\x31\x35\x33\x36\x37\x30\x31\x33\x30\x34\x33\x33\x30\x31\x35\x34\x39\x39\x30\x30\x30\x34\x30\x32\x38\x30\x31\x35\x36\x30\x32\x32\x41\x42\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x30\x33\x30\x30\x30\x30\x30\x30\x32\x30\x30\x30\x33\x30\x30\x31\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x33\x35\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x20\x20\x43\x55\x50\x30\x30\x30\x31\x33\x43\x55\x50\x30\x38\x30\x30\x30\x30\x30\x30\x30\x30\x30\x34\x36\x30\x30\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x30\x32\x39\x38\x36\x30\x37\x33\x36\x30\x38\x31\x20\x20\x20\x20] 有无空格均可,代码中工作了过滤,输入时不要换行 8583.conf为银联接口文档中的各域长度说明,本工具主要依据此配置来对报文进行拆包。 ## **以下为运行过程(或者把py脚本编译成exe可执行文件)**: D:\Python34\python.exe D:/Python34/workspace/8583/8583_analysis_for_win.py 请输入位图,二进制、十六进制均可: f2 3a 44 c1 b8 e1 98 18 00 00 00 00 10 00 00 81 您输入的位图为16进制,后台正在努力转成二进制位图,请稍后。。。。 处理后的十六进制位图:【f23a44c1b8e198180000000010000081】 生成的二进制位图: 【11110010001110100100010011000001101110001110000110011000000110000000000000000000000000000000000000010000000000000000000010000001】 位图第一位为1,则域66到128有值 生成8583各域: [1, 2, 3, 4, 7, 11, 12, 13, 15, 18, 22, 25, 26, 32, 33, 35, 36, 37, 41, 42, 43, 48, 49, 52, 53, 60, 61, 100, 121, 128] 请输入8583报文送十六进制、十进制均可(无8583报文头、无换行): 1662263026104952230100000000000100000116170458049546170458011612116010020000608010211110801020000346226302610495223=49121200215140000103996226302610495223=1561560000000000000000000000114141449120=000000000000=00000000**0000=00000000000000001021101148212345678123456789012345CHN29000CHINA UNIONPAY SIMULATOR 028AA 1561234567890100000000000000270000020006000000000000110000329371428198807095514 CUP201 3080304000004351C0041000000000000000000000000000000000000******** 请输入要保存的文件名称: 8583报文解析后文件名:8583_.txt ---------8583报文解析如下-------------- " 16 " " 6226302610495223 " //域2 主账号 2/19 LLVAR 2位变长 " 010000 " //域3 交易处理码 6 DATA 定长 " 000000010000 " //域4 交易金额 12 DATA 定长 " 0116170458 " //域7 交易传输时间 10 DATA 定长 " 049546 " //域11 系统跟踪号 6 DATA 定长 " 170458 " //域12 受卡方所在地时间 6 DATA 定长 " 0116 " //域13 受卡方所在地日期 4 DATA 定长 " 1211 " //域15 清算日期 4 DATA 定长 " 6010 " //域18 商户类型 4 DATA 定长 " 020 " //域22 服务点输入方式码 3 DATA 定长 " 00 " //域25 服务点条件码 2 DATA 定长 " 06 " //域26 服务点PIN获取码 2 DATA 定长 " 08 " " 01021111 " //域32 受理机构标识码 2/11 LLVAR 2位变长 " 08 " " 01020000 " //域33 发送机构标识码 2/11 LLVAR 2位变长 " 34 " " 6226302610495223=49121200215140000 " //域35 第二磁道数据 2/37 LLVAR 2位变长 " 010211011482 " //域37 检索参考号 12 DATA 定长 " 12345678 " //域41 受卡机终端标识码 8 DATA 定长 " 123456789012345 " //域42 受卡方标识码 15 DATA 定长 " CHN29000CHINA UNIONPAY SIMULATOR " //域43 受卡方名称地址 40 DATA 定长 " 028 " " AA " //域48 附加数据私有 3/512 LLLVAR 3位变长 " 156 " //域49 交易货币代码 3 DATA 定长 " 12345678 " //域52 个人标识码数据 8 DATA 定长 " 9010000000000000 " //域53 安全控制信息 16 DATA 定长 " 027 " " 000002000600000000000011000 " //域60 自定义域 3/100 LLLVAR 3位变长 " 032 " " 9371428198807095514 CUP201 3 " //域61 持卡人身份认证信息 3/200 LLLVAR 3位变长 " 08 " " 03040000 " //域100 接收机构标识码 2/11 LLVAR 2位变长 " 043 " " 51C0041000000000000000000000000000000000000 " //域121 CUPS保留 3/100 LLLVAR 3位变长 " ******** " //域128 报文鉴别码 64 DATA 定长 Process finished with exit code 0