文件校验是指文件的 MD5、SHA1、CRC32 的值的检验。
文件校验
每个文件都可以用 MD5 验证程序算出一个固定的 MD5 码来。软件作者往往会事先计算出他的程序的 MD5 码并帖在网上。因此,在网上看到某个程序下载旁注明了 MD5 码时,可以把它记下来,下载了这个程序后用 MD5 验证程序计算你所下载的文件的 MD5 码,和你之前记下 MD5 码比较,就知道你下的是不是原版了,如果两者相同,那么你所下载的是原版。如果计算出来的和网上注明的不匹配,那么你下载的这个文件不完整,或是被别人动过手脚。
不过这种方式依旧有漏洞,第三方截获到文件之后,将修改后的文件同md5码一起放出来,接收方拿到文件后,依旧无法鉴别。正式基于此,MAC(消息校验码)诞生了,MAC是发送方和接收放约定的一个特定的数值串,当发送方发送文件时,将文件内容加上MAC一起进行HASH计算(MAC不随文件一同发送),此时第三方尽管截获到此文件,由于没有MAC,因此无法再计算出正确的HASH值。当接受拿到文件时,将文件同自身拥有的MAC一起进行校验对比HASH值,即可判定文件是否是发送方发过来的原文件。