AES与应用层消息粘包、分包应该如何处理?
在TCP长连接中,会出现应用层消息粘包的现象,解决方法是:
文本协议中采用rn实现隔断;
二进制协议中采用报文结构,如TLV来实现消息分隔;
现在如果TCP长连接是AES加密呢?一种是将加密后的AES码流每16/32字节解密一次,然后在进行回车隔断或者判断报文结构。这样算是透传,可以兼容两种协议。但是感觉上实施起来复杂度挺高。需要两层缓冲:TCP缓冲和AES缓冲。
另外一种是将消息Payload部分进行AES加密进行传输。适合二进制方式,也在AES之外保留了TLV的报文结构。
哪一种更加合适呢?有过经验的开发者请教一下。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论