CRC循环冗余校验算法

CRC循环冗余校验算法是可以根据数据产生固定位数的散列函数,用来校验数据传输/保存后出现的错误,或者说是校验数据的完整性,例如压缩文件。

生成的散列值在传输或者存储之前计算出来并且附加到数据后面。一般循环冗余校验值都是32位的二进制数,即8位的16进制字符串。
一般冗余校验是值CRC-32
 

 
 
CRC-32的实现:使用CRC32类
public static void main(String[] args) throws Exception{
    CRC32 crc32 = new CRC32();
    crc32.update("中国".getBytes("gbk"));
    long result = crc32.getValue();
    System.out.println(Long.toHexString(result));
}  
 
 
同样,需要使用CRC处理输入输出流是,则使用CheckedInputStream和CheckedOutputStream。
工作原理同MD5中的DigestInputStream和DigestOutputStream





原文地址:https://www.cnblogs.com/itmanxgl/p/d01cc6e03d6fcfd7282fb0fc260e9a41.html