
文件校验 · 分项说明
概念说明
文件校验是把指定读取范围内的内容按约定算法折算成比对值,再与基准值对照;它不同于版本号核对:版本标签说明发布身份,校验值说明这段内容是否与基准一致,读取范围或算法不同就不能直接比较。
判断方法
文件校验的判断方法,先要分清要回答的是有没有变,还是与哪份基准相同,再选对应比对方式。它靠同一算法、同一读取范围和可追溯基准值成立,不靠文件大小或文件名。做法上先确认基准类型:长度只能发现截断或追加,文件数只能发现增删,摘要才可能发现同长度内容替换,三类基准不能互相顶替。然后对当前文件完整读取并计算一次,再用同一算法复算一次,两次一致后才与基准逐位比较。与版本身份相比,校验不读构建标识;与下载来源相比,它不还原取得路径。基准来源不明或算法范围未注明时,只能记录本地结果。
适用边界
文件校验的边界首先是基准的边界:只有基准值能追溯到发布方或独立交接记录时,比对结果才有判断力;若基准来自同一份待查副本,或由同一台已可能受影响的机器生成,一致只能说明两次计算相同,不能说明文件正确。其次才是对象边界:一次计算只覆盖当时读取的字节范围,换算法、换范围或换文件后都要重新建立比对。与来源记录相比,校验不回答怎么取得;与版本身份相比,它不回答属于哪次构建。文件被替换但沿用旧文件名,或下载未完成、计算时仍在写入,都不适合用一次校验下结论。



读者评论
说实话看完有点上头,想去拆开看看了。
冒昧问句,预算有限的话先从哪块下手比较划算?
讲得挺好,就是例子能再多一点就更好了。
谢谢,终于搞懂了一直没弄明白的那个点。
补充一句,线材和接口也别忽略,有时候毛病就出在那。