Python 计算UDP数据报校验和的最佳方法?

Python 计算UDP数据报校验和的最佳方法?,python,udp,md5,checksum,sha256,Python,Udp,Md5,Checksum,Sha256,计算UDP数据报校验和的最佳方法是什么?在Python的MD5、SHA256或任何其他方法中,哪种方法肯定有助于识别损坏的数据包?此外,我的数据报的格式如下: packet = struct.pack('HH', seq_num, checksum) + payload ,其中有效载荷是我发送给接收器的消息。那么,在这种情况下,我应该为数据包计算校验和吗。校验和只是字节的简单数学和,而不是散列 读一下: 校验和是来自IP报头、UDP报头和数据的伪报头的补码和的16位1的补码,如有必要,在结尾处

计算UDP数据报校验和的最佳方法是什么?在Python的MD5、SHA256或任何其他方法中,哪种方法肯定有助于识别损坏的数据包?此外,我的数据报的格式如下:

packet = struct.pack('HH', seq_num, checksum) + payload

,其中有效载荷是我发送给接收器的消息。那么,在这种情况下,我应该为数据包计算校验和吗。校验和只是字节的简单数学和,而不是散列

读一下:

校验和是来自IP报头、UDP报头和数据的伪报头的补码和的16位1的补码,如有必要,在结尾处填充零个八位字节,使之成为两个八位字节的倍数


提示cf

我猜你在谈论两件不同的事情。OP想要实现他自己的应用层校验和,而你正在谈论UDP校验和。我不清楚这种情况。他询问哪种方法肯定有助于识别损坏的数据包?这正是UDP报头的角色。他谈到数据报,也就是UDP的数据包…我猜他不知道UDP的特性。这可以解释他为什么问。我能知道你说的是哪种UDP功能吗@美元。如您所见,我正在设计自己的UDP数据报。@Jarvis好的,那么请澄清:md5、sha和所有哈希操作都是相对复杂、缓慢和昂贵的操作,要应用于计算机之间发送的每个数据报是不现实的。校验和的目的是检测损坏,而所有字节之和方法是一种非常简单的方法。UDP用于高速和非块通信,消息校验和与数据包校验和有很大不同。我的意见:禁用数据包校验和,并为附加校验和信息数据添加一个子报头。也许我错了,但我认为UDP通信在数据包头上不需要校验和,因为计算每个UDP头校验和会浪费很多时间。