赞
踩
循环冗余校验(Cyclic redundancy check) 通称CRC。是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者存储之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。一般来说,循环冗余校验的值都是32位的整数。由于本函数易于用二进制的计算机硬件使用、容易进行数学分析并且尤其善于检测传输通道干扰引起的错误,因此获得广泛应用
尽管在错误检测中非常有用,CRC并不能可靠地校验数据完整性(即数据没有发生任何变化),这是因为CRC多项式是线性结构,可以非常容易地故意改变量据而维持CRC不变。
与所有其它的散列函数一样,在一定次数的碰撞测试之后CRC也会接近100%出现碰撞。CRC中每增加一个数据位,碰撞机率就会减少接近50%,如CRC-20与CRC-21相比。
Hash是把任意长度数据往固定长度数据上的一种映射,所以基于此概念,CRC也是Hash的一种。
相同点:
不同点:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。