图片来源:Neso Academy
如果你负责在工作流的各环节间传输文件(比如把素材从摄影机存储转到电脑或者在不同机构间传素材),那么你大概率会使用校验和(checksum)来保护文件。
校验和是用来识别文件的独特数据。而就算文件中的数据发生了一丁点改变,这个文件的新“和(sum)”也不能和原始的相匹配。不同文件都有不同的数据,每个文件都有一个独特的“和”,也就是说,可以通过它判断文件是不是100%完整/真实。视频文件有成百上千万(甚至是数十亿)比特,很复杂。如果其中一个数字被损坏或者遗失了,那么文件有可能完全用不了。
所以校验和就像指纹一样,文件去哪它去哪。它能帮你了解这些文件“内里”和它表面的描述是否一致。
校验和适用于任何类型的数字文件,尤其对后期制作有奇效。就算你的素材经过很多人的手,它也能牢牢保卫素材,并提醒你哪里出了问题。
校验和背后的数学运算有一些复杂,不同算法生成校验和的方法大不相同,不过运行的逻辑是一样的,我们来看一个简单的例子。
我们把文件想象成一串数字,比如2341842。这个数字很简单,我们可以人工计算来模拟校验和的机制。
2+3+4+1+8+4+2=24
由上可知,这个文件的校验和值是24,我们把它直接贴在那串数字的末尾,变成:234184224。因为我们是手动计算的,所以知道这串数字末尾的两位数不是原数据,只是校验和的值。
接下来把这个文件寄给一个朋友,但是在途中,信件被不小心打湿了,这串数字中的8被抹了一下,看起来很像6,问题就出现了。我们已经在信件中写上了各数字的和24,所以朋友收到信后会发现,前几个数加起来不等于24了。
2+3+4+1+6+4+2≠24
这只是一个简单的例子,不过在实际操作中,真正的电脑文件更加复杂。比如一个常用的校验和算法Md5用一串32位的字母和数字来生成校验和值,检验过程非常准确。(T)