信息摘要算法-CRC(循环冗余校验)

一、简述

  确切的说CRC不算是信息摘要算法,但是他的原理也是散列函数。他经历过很多版本的改进。现阶段CRC-32算法是通信领域实现差错控制的的主要应用。

 

二、模型分析(以传递压缩数据模型为例):

  甲方对自己的数据做循环冗余校验(CRC)处理,然后向数据尾部追加冗余校验码,然后压缩,发送数据给乙方

  乙方解压缩,分离数据和校验码。然后对分离出的数据进行CRC处理,看得出的冗余校验码和分离出的校验码是否一致。进而判断数据的正确性。

三、java实现

package com.ca.test;
import java.util.zip.CRC32;
/**
 * 测试循环冗余校验
 * @author kongqz
 * */
public class CRC {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str="测试CRC-32";
		CRC32 c32=new CRC32();
		c32.update(str.getBytes());
		String hex=Long.toHexString(c32.getValue());
		System.out.println("原文:"+str);
		System.out.println("CRC-32处理后:"+hex);
	}
}
控制台输出结果:
原文:测试CRC-32
CRC-32处理后:8734140f

四、总结

1、CRC32算法很常见。类似消息摘要算法,只不过它是将原文和摘要信息组合后发送给对方

2、算法是公开的。验证也很方便。上述算法调整下就可以做文件校验了

时间: 2024-12-05 07:17:06

信息摘要算法-CRC(循环冗余校验)的相关文章

UVa 128 Software CRC:模计算及CRC循环冗余校验码

128 - Software CRCTime limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=64 You work for a company which uses lots of personal computers. Your boss, Dr Penny Pi

信息摘要算法-RipeMD以及HmacRipeMD算法

一.简述   除了MD.SHA和MAC三大主流信息摘要算法之外,还有一些不常见的消息摘要算法.包括RipeMD系列.Tiger.Whirlpool和Gost3411算法.同时,RipeMD算法和MAC算法系列相结合,有产生了HmacRipeMD128和HmacRipeMD160两种算法.   针对这些算法进行简单介绍   1.RipeMD算法:针对MD4和MD5算法缺陷分析提出的算法.这些算法主要是针对摘要值得长度进行了区分   2.Tiger算法:号称最快的Hash算法,专门针对64为机器做优

计算机网络常考知识点总结

计算机网络常考知识点总结 1 电路交换与分组交换的区别是什么?优劣对比? 答:先介绍基本概念: 电路交换 概念:必须经过建立连接(占用通信资源)--->通话(一直占用通信资源)--->释放连接三个步骤的交换方式称为电路交换. 优点: 通信质量有保证. 缺点: 线路传输效率比较低. 特点: 在通话的全部时间内,通话的两个用户始终占用端到端的通信资源. 分组交换(也称包交换) 报文:我们把要发送的整块数据称为一个报文. 分组又称包.分组的首部也可以称为"包头". 概念:通信双方

MBR和GPT分区表是什么,MBR和GPT分区表详解介绍

MBR和GPT分区表详解 全新硬盘(未初始化)装系统之前,必须对齐进行分区,硬盘分区初始化的格式包括MBR和GPT两种.当然对于基于PowerPC的Mac电脑还有专门的Apple分区图,在这里就不做介绍. MBR的全称是Master Boot Record(主引导记录),MBR早在1983年IBM PC DOS 2.0中就已经提出.之所以叫"主引导记录",是因为它是存在于驱动器开始部分的一个特殊的启动扇区.这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息. 主引导扇区是

关于数据校验

1.什么是数据校验 通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值.接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的. 2.最简单的检验 实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的.同时也是效率最低的. 适用范围:简单的数据量极小的通讯. 应用例子:龙珠cpu在线调试工具bbug.exe.它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是刚才发

iSCSI性能瓶颈及性能优化方案

iSCSI性能瓶颈 &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   iSCSI协议建立在传统的TCP/IP协议之上,在进行实际数据传输时,其传输系统性能受限于TCP/IP协议栈负载及以太网最大带宽,另外iSCSI协议层也会额外增加一些负载开销,在实际应用中,iSCSI数据传输性能仍然存在瓶颈.以发送端的写操作为例,一次完整的iSCSI协议数据传输包括数据封装.数据拷贝.数据传输三个步骤. 1.数据封装 iSC

如何提高RAID(冗余磁盘阵列)数据可用性

RAID是"Redundant Array of Independent http://www.aliyun.com/zixun/aggregation/29800.html">Disk"的缩写,中文意思是独立冗余磁盘阵列.冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出. RAID磁盘阵列(Redundant Array of Independent Disks)简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Softw

WinRAR解压缩CRC出错解决方法

WinRAR可以说是现在最风光的压缩软件了,风头逐渐盖过了老牌的WinZip!超高的压缩比,简单易用的界面,强大的功能--不过不知道大家有没有碰到过这样的情况:辛辛苦苦从网上下载了数百兆的RAR压缩包文件,正解压时突然弹出一个让你心惊肉跳对话框!告诉你出错了-- 判断出错原因 出错信息为"CRC失败于加密文件(口令错误?)"(RAR压缩包设了密码,但密码输入错误或是密码输入正确但循环冗余校验码(CRC)出错!只不过因为此RAR压缩包加了密码的缘故,所以WRAR才猜测说可能是"

WinRAR解压缩提示CRC错误的解决方法

WinRAR可以说是现在最风光的压缩软件了,风头逐渐盖过了老牌的WinZip!超高的压缩比,简单易用的界面,强大的功能--不过不知道大家有没有碰到过这样的情况:辛辛苦苦从网上下载了数百兆的RAR压缩包文件,正解压时突然弹出一个让你心惊肉跳对话框!告诉你出错了-- 判断出错原因 出错信息为"CRC失败于加密文件(口令错误?)"(RAR压缩包设了密码,但密码输入错误或是密码输入正确但循环冗余校验码(CRC)出错!只不过因为此RAR压缩包加了密码的缘故,所以WRAR才猜测说可能是"