当我阅读此链接时:http://docs.oracle.com/javase/7/docs/api/java/util/zip/CRC32.html 有一种方法可以从字节数组中获取 CRC32 值。但是,当我将此 CRC32ed 值发送给接收方时,接收方如何检查此值是否有效?
最佳答案
想法是接收方将对您发送的数据运行相同的算法,并且它应该得到相同的 CRC32 值。如果不是,则数据(或 CRC)已以某种方式损坏。
换句话说,假设您的有效载荷是“Pax is an incredible handled guy”
,您计算的 CRC 为 42。
您通过该有效载荷和 CRC 发送到接收端,它对有效载荷执行相同的操作,结果也是 42。
这意味着该负载的内容是正确的。但不一定是真实的:-)
这就是 CRC 的意思,循环冗余校验。
请记住,CRC 往往可以有效防止对有效负载的意外损坏,但是,除非使用一些 secret 信息来生成检查,否则它可能是伪造的。
关于java - 如何使用CRC32?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23927233/