当我阅读这个链接:http://docs.oracle.com/javase/7/docs/api/java/util/zip/CRC32.html时,有一种方法可以从字节数组中获取CRC32值。但是,当我将这个CRC32ed值发送给接收者时,接收方如何检查该值是否有效?
发布于 2014-05-29 06:40:32
其思想是,接收者将对您发送的数据运行相同的算法,并且应该得到相同的CRC32值。如果没有,数据(或CRC)以某种方式损坏。
换句话说,假设您的有效负载是"Pax is an incredibly handsome guy",并且计算CRC为42。
您将该有效负载和CRC发送到接收端,它对有效负载执行相同的操作,也会产生42。
这意味着有效负载的内容是正确的。但不一定准确:-)
这就是CRC的意思,循环冗余检查.
请记住,CRCs往往对有效载荷的意外损坏有效,但是,除非有一些秘密信息被用来生成检查,否则它可能是伪造的。
https://stackoverflow.com/questions/23927233
复制相似问题