求大神解决SOCKET的有关问题
求大神解决SOCKET的问题
这里有一段接口业务的问题
接口传输方式:socket
协议:tcp/ip
接口需求是这样说的:
对报文接口,采用3des算法,数据发送方需先对报文头中账号和密码域使用数据密钥进行加密,再使用MAC密钥对报文头和报文体进行加押,密押经BCD扩展以后以16个字节方式传送。
请大家帮我分析一下这个需求到底是要怎么计算的 ,还有 以16个字节方式传送是什么意思?
万分感谢!
------解决方案--------------------
16字节是指的对齐方式吧?
------解决方案--------------------
不是这样的吧!
应为是扩展了的BCD码的!
四个字节,经过BCD码扩展成16个字节的!
你google下这个bcd码吧!
我也没有具体研究过,提示就这么多了
------解决方案--------------------
本人对SOCKET通讯协议在实际工作中的“多么痛的领悟”:
解释千句不如举例一句;
举例千句不如源码一行;
源码千行不如抓包一次!
特与帖主共勉!

------解决方案--------------------
BCD码参考下面:(怕就怕此BCD非彼BCD!)
这里有一段接口业务的问题
接口传输方式:socket
协议:tcp/ip
接口需求是这样说的:
对报文接口,采用3des算法,数据发送方需先对报文头中账号和密码域使用数据密钥进行加密,再使用MAC密钥对报文头和报文体进行加押,密押经BCD扩展以后以16个字节方式传送。
请大家帮我分析一下这个需求到底是要怎么计算的 ,还有 以16个字节方式传送是什么意思?
万分感谢!
------解决方案--------------------
16字节是指的对齐方式吧?
------解决方案--------------------
不是这样的吧!
应为是扩展了的BCD码的!
四个字节,经过BCD码扩展成16个字节的!
你google下这个bcd码吧!
我也没有具体研究过,提示就这么多了
------解决方案--------------------
本人对SOCKET通讯协议在实际工作中的“多么痛的领悟”:
解释千句不如举例一句;
举例千句不如源码一行;
源码千行不如抓包一次!
特与帖主共勉!
------解决方案--------------------
16字节是指的对齐方式吧?
请问16字节是对齐方式的话 是指16字节为一行吗
不是这样的吧!
应为是扩展了的BCD码的!
四个字节,经过BCD码扩展成16个字节的!
你google下这个bcd码吧!
我也没有具体研究过,提示就这么多了
BCD码参考下面:(怕就怕此BCD非彼BCD!)
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
unsigned int iv,i;
unsigned char BCD[5];//定长10位BCD码
unsigned char sv[11];
void main() {
iv=123456789;//最大10位无符号正整数
//INT2BCD
sprintf(sv,"%010u",iv);
for (i=0;i<10;i+=2) {
BCD[i/2]=(sv[i]<<4)
------解决方案--------------------
(sv[i+1]&0x0F);
}
printf("BCD=%02x%02x%02x%02x%02x\n",BCD[0],BCD[1],BCD[2],BCD[3],BCD[4]);
//BCD2INT