1

我正在从终端设备接收数据包,然后在主机端接收数据包时,我使用 crc32 算法为数据包数据生成 mac,以便我可以检查在从终端到主机的数据包传输过程中是否存在任何数据损坏。 crc32 是否可靠为此目的还是有更好的算法?

4

3 回答 3

2

CRC32 被以太网HDLC等协议使用。我会说这非常适合错误检测。

于 2009-11-19T10:43:13.107 回答
2

crc32简单、可靠且快速。实际上 TCP 只使用 16 位校验和。

于 2009-11-19T10:43:54.667 回答
2

CRC32 的有用性取决于被检查数据的大小以及您要保护的内容。对于小数据包和检测传输失败,它可能就可以了。

如果您要防范积极的攻击者,也许您需要一个安全的散列函数或使用密码。

有很多关于这类东西的文献。这实际上取决于您要达到的目标。但是:如果您的基本问题是检测短数据包上的通信错误,那么 CRC32 可能就可以了。

于 2009-11-19T10:56:17.267 回答