当我读到此链接时:http://docs.oracle.com/javase/7/docs/api/java/util/zip/CRC32.html 有从字节数组获取CRC32值的方法。但是,当我将此CRC32ed值发送给接收器时,接收器如何检查该值是否有效?
答案 0 :(得分:4)
这个想法是接收器将对你发送的数据运行相同的算法,它应该得到相同的 CRC32值。如果没有,数据(或CRC)已经以某种方式被破坏。
换句话说,假设您的有效负载为"Pax is an incredibly handsome guy"
,并将CRC计算为42。
您将有效负载和CRC发送到接收端,并对有效负载执行相同的操作,同时提出42。
这意味着该有效负载的内容是正确的。但不一定是真实性: - )
CRC代表什么,循环冗余检查。
请记住,CRC往往有效抵御意外对有效负载的损害,但除非有一些秘密信息用于生成支票,否则它可能是伪造的。