报文心得

这篇博客分享了在多系统间通过TCP交互时,报文设计的关键点。包括XML报文中的xmlns属性、报文文件结构、字段定义、定长报文配置等,并提到了如何处理固定长度限制和数据填充规则。
摘要由CSDN通过智能技术生成


写这篇博客前,应该感谢一下对我有传道之恩的师傅——鲍迅

多系统之间,通过TCP交互,那么报文在这其中起到了异常关键的作用,对于报文,有一些很零碎的小小的心得,在此做一下分享(代码中没太注意大小写书写)。


一、普通报文

a.  在标签中可以加“xmlns”类似于网址的东西(其实具体有什么卵用我还真不知道,目前所有的拼接都是为了格式严谨),放在xmlAttributes属性中,格式如下:

xmlAttributes="xmlns:xsi={'网址1'} xmlns={‘网址2’}” 这是一种写死的格式,灵活的可以将所需网址在java类中塞入context中,然后在报文中用键值对来替换这些死值。


b. 报文所在包下,都会有一个*Packet*.xml文件(公司习惯性写法,完全可根据喜好自定义),第一个*可以定义outbound和inbound,用来让读者清晰了解我们此系统是作为接收方还是作为发起方,第二个*一般可以根据需求或喜好添加“Res”、“Req”等后缀


c. 报文文件中都会定义version、编码


d. <Group>标签中的Name和tagName一样,没有优先级,根据定义的先后拼接不同的标签名称(常用语Map中套Map套Map...只需不断设置标签的值就OK)


f. 在<Group>标签中可以设置includePrefix属性,功能时定义报文文件名称手写名称,框架中默认封

在对报文进行 HASH 计算的实验中,我们主要使用了 SHA1、SHA256、MD5 等常见的 HASH 函数。这些函数可以将任意长度的输入报文转换为固定长度的输出值,并且具有不可逆性和唯一性。 在实验中,我们首先要了解这些 HASH 函数的使用方法和特点。例如,SHA1 和 MD5 的输出长度分别为 160 位和 128 位,而 SHA256 的输出长度为 256 位。因此,SHA256 的安全性更高,但是计算速度也更慢。 在实验中,我们可以使用各种编程语言和工具来实现这些 HASH 函数的计算。例如,在 Python 中,我们可以使用 hashlib 模块来实现 SHA1、SHA256 和 MD5 的计算。具体代码如下: ```python import hashlib # 计算 SHA1 Hash 值 message = b"Hello, world!" sha1 = hashlib.sha1() sha1.update(message) print("SHA1 Hash: ", sha1.hexdigest()) # 计算 SHA256 Hash 值 message = b"Hello, world!" sha256 = hashlib.sha256() sha256.update(message) print("SHA256 Hash: ", sha256.hexdigest()) # 计算 MD5 Hash 值 message = b"Hello, world!" md5 = hashlib.md5() md5.update(message) print("MD5 Hash: ", md5.hexdigest()) ``` 在实验中,我们还需要了解 HASH 函数的一些应用场景。例如,我们可以使用 HASH 函数来验证数据的完整性和真实性。在文件传输过程中,我们可以计算文件的 HASH 值并将其与接收方计算的 HASH 值进行比较,以确保文件在传输过程中没有被篡改。 总的来说,HASH 函数是密码学中非常重要的一部分。通过实验,我们可以更好地理解 HASH 函数的特点和应用场景,并掌握计算 HASH 值的方法和技巧。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值