2

我正在设计一个应用程序协议,我想知道我是否还需要在协议中包含校验和,因为 tcp/ip 已经有校验和。你怎么看?

4

3 回答 3

3

BitTorrent 协议在 TCP 之上有大量额外的纠错和检测功能,因此协议设计者清楚地看到了它的需要。

于 2009-09-12T07:54:58.633 回答
2

TCP 校验和非常弱,因此如果您完全担心可靠性,您可能需要一个应用程序级别。

特别是 TCP 校验和不是安全哈希,并且没有签名,所以如果您担心恶意更改,那么您需要自己添加安全性。

于 2009-09-12T09:03:04.490 回答
0

要添加其他答案,您可能应该查看消息身份验证代码。MAC 是一种比简单的 TCP 校验和更可靠的错误检测方法。

如果您想要一些健壮的东西,请查看 [HMAC][2]。HMAC 提供错误检测和身份验证(通过共享密钥)。

如果您想要快速而肮脏的东西,为什么不使用 sha1 哈希?

于 2010-11-21T14:51:15.313 回答