测试的过程中,也非常感谢卧看微尘大神和群里分享的宝贵知识:
校验值是一种算法,通过特定的计算流程,将一个文件的所有数据都转换成一个固定长度的数值。
这个数值不是压缩,没法还原成原本的数据。但是可以作为一个特征码,来表示这个文件。
不同的文件哪怕只有一个字节的变化,算出来的校验值都会天差地别。
所以可以用校验值来确定我们拿到的文件是不是被修改过的,是不是正确的文件
比如有一种简单的校验算法,取第1个和第2个数字,加起来,只保留个位数,十位及以上的数字丢掉(如7+9=16,丢掉1,保留6)
保留下来的数字再跟第3个数字重复上述操作。
最后把范围内的数据都按这个规则计算完成,得到的最后的数字,就是这串数据的校验值
这里面你如果哪怕只是把第1个数字的7改成6,那么结果都可能会有所不同
就可以用来作为检测数据有无被改动过的依据
当然举例的这个算法重复度会比较高,很多不同的文件也会得到相同的校验值。所以有发展出了其他很多尽可能减少会出现重复情况的算法
crc16就是其中一种常用算法










校验值是一种算法,通过特定的计算流程,将一个文件的所有数据都转换成一个固定长度的数值。
这个数值不是压缩,没法还原成原本的数据。但是可以作为一个特征码,来表示这个文件。
不同的文件哪怕只有一个字节的变化,算出来的校验值都会天差地别。
所以可以用校验值来确定我们拿到的文件是不是被修改过的,是不是正确的文件
比如有一种简单的校验算法,取第1个和第2个数字,加起来,只保留个位数,十位及以上的数字丢掉(如7+9=16,丢掉1,保留6)
保留下来的数字再跟第3个数字重复上述操作。
最后把范围内的数据都按这个规则计算完成,得到的最后的数字,就是这串数据的校验值
这里面你如果哪怕只是把第1个数字的7改成6,那么结果都可能会有所不同
就可以用来作为检测数据有无被改动过的依据
当然举例的这个算法重复度会比较高,很多不同的文件也会得到相同的校验值。所以有发展出了其他很多尽可能减少会出现重复情况的算法
crc16就是其中一种常用算法














































