有没有更好的crc32算法来检查数据的腐败?
问题描述:
我正在接收来自终端设备的数据包,然后在主机端接收数据包时,我使用crc32算法生成分组数据的mac,以便我可以检查数据包在从终端到主机的传输过程中是否存在数据损坏。 crc32可靠的这个目的还是有一些更好的算法?有没有更好的crc32算法来检查数据的腐败?
答
CRC32的用处取决于被检查数据的大小以及您所抵御的内容。对于小包和检测传输故障,它可能就好了。
如果您正在防范活跃的攻击者,也许您需要安全的散列函数或使用密码。
关于这种东西有很多文献,它真的取决于你想要达到的目标。但是:如果你的基本问题是检测到短包的通信错误,那么CRC32可能就好了。
然而谷歌的GFS已经提供了由于数据包原始大小而引起的未被注意的以太网CRC错误。 – 2012-02-15 12:09:42