下载首页下载分类最近更新排 行 榜国产软件国外软件汉化补丁本站论坛BT下载页
  • 设为首页
  • 收藏本站
  • 联系我们
您的位置:首页应用工具系统工具 → 谁动了我的奶酪——文件校验攻略SFV及CRC篇
谁动了我的奶酪——文件校验攻略SFV及CRC篇
出处:互联网络 作者:佚名 日期:2007-5-10 12:26:52 人气: [ ]
  

最普及的文件校验算法——SFV
1.SFV算法原理
SFV是Simple File Verification(简单文件校验)的简写,它采用的是CRC32校验算法。CRC32校验产生的是一个32bit的校验值,大家通常看到的是一个8位的16进制数,由于CRC32算法产生校验值时源数据的每一个bit位都参与了计算,所以数据块中即使一位bit发生变化,也会得到不同的CRC32值。
从名称上看,SFV似乎是文件校验的专业算法,但实际上它并没有MD5算法安全,由于SFV校验值为32位的二进制值,因此其取值范围是2的32次方,而现实中的文件数量大大超过这个值了,因此是有可能两个完全不相干的文件,经过SFV算法得到相同的校验值,但MD5则采用了128位的值,因此取值范围更大,出现相同MD5值的可能性极小,因此用它来校验文件理论上是更安全的,不过实际上即使使用SFV做校验,出现相同校验值的可能性也是极小的,因此使用SFV就足够了。
2.SFV应用实例
FlashSFV是目前使用最多的SFV工具,它出自于著名的FTP客户端工具FlashFXP的作者之手,使用也非常简单。
FlashSFV小档案
软件版本:2.3   软件大小:273KB
软件性质:免费软件   适用平台:Windows 9x/2000/XP
下载地址:http://www.cfan.com.cn/qikan/cfan/software.htm
软件备注: 虽然在作者主页上只能找到2.0f,但在网上却可以找到2.3汉化版本,可能
 作者已经不在主页上更新这个软件了。

实战一:使用FlashSFV生成SFV码
点击“新建”按钮,这时就会切换至文件管理器界面,打开要校验的文件所在目录,在右边的文件列表中选择要校验的文件(可用Shift或Ctrl键多选,但不支持子目录选择),单击“创建”按钮,输入生成的SFV文件名后单击“保存”按钮,这时在被校验文件目录下就会生成一个扩展名为SFV校验码文件了。
实战二:使用FlashSFV校验SFV码
单击“打开”按钮,打开SFV校验码文件,这时在主界面中会显示出SFV文件中的文件,选中你要校验的文件,单击“检查”按钮即可看到校验结果,标记有“√”的表示该文件校验正确,标记有“×”的表示校验错误。
小提示
★在进行校验时把要校验的文件和SFV文件放在同一文件夹中。
★FlashSFV同样支持MD5码的生成和校验,生成校验码时,只需要在保存校验码文件时选择“保存类型”为“MD5 (*.md5)”即可,生成速度上与WinMD5相当,而且软件对WinMD5和MD5summer生成的MD5文件都提供了较好的兼容性。
★FlashSFV同样可以关联MD5和SFV文件,单击“选项”按钮,在“以下类型关联FlashSFV”下面选中“MD5”和“SFV”选项即可。
实战三:用Total Commander生成和校验SFV码
Total Commander(以下简称TC)是大家最常使用的工具了,其实它也具备SFV码生成和校验功能,而且使用上也更方便一些。生成校验文件时,可以先在资源浏览窗口中选中所有要校验的文件(注意TC不支持对文件夹直接校验),然后在菜单中依次选择“文件→CRC 校验→创建CRC 校验文件”,在打开的对话框中可以设置生成的SFV校验文件名,而且你还可以选择“为每个文件创建单独的SFV文件”选项,这可是它独有的功能哦,选中“MD5”则可以生成MD5校验码,看来TC也同样是支持MD5的。最后单击“确定”按钮即可快速生成SFV校验码。
在TC中检查校验码就更方便了,直接双击SFV文件即可进行自动校验,报告出校验结果,而且结果显示也很清楚明了。不过对于MD5码TC没有内置关联,你需要选中MD5文件后在菜单中依次选择“文件→CRC 校验→校验CRC 校验文件”才能进行检查。
小提示
★许多朋友从一些FTP站点上下载的文件中发现里面有个扩展名为.jasfv的文件,这种SFV校验码是Serv-U服务器的插件自动生成的校验码,不过由于其结构的不同,无法直接使用FlashSFV进行校验,我们只需要用“记事本”打开这个.jasfv文件,把每个校验码前面的“0x”删除就可以使用FlashSFV进行校验了。
★除了FlashSFV外,还有QuickSFV和MagicSFV也同样是SFV校验码生成和校验工具,两者的校验速度和生成校验文件的速度比FlashSFV要快一些,其中QuickSFV可集成至“资源管理器”右键菜单验证或创建SFV文件,而MagicSFV界面设计和使用与FlashSFV几乎完全相同,但QuickSFV不支持MD5,这两个工具使用的人相对较少,所以这里也不多做介绍。

既熟悉又陌生的校验算法——CRC
1.CRC算法原理
CRC是Cyclic Redundancy Code的缩写,翻译成中文就是“循环冗余码”,它采用多项式编码方法,是一种高效的差错控制方法。所谓的CRC32也就是32位的CRC算法,这就是前面介绍的SFV采用的算法。由于CRC算法编码和解码方法简单,检错和纠错能力强,因此在通信、卫星、控制等领域都有着广泛的应用,在我们的电脑中,也被广泛应用于压缩,光盘刻录、数据存储等方面。
其实说到CRC,大家更多想到的就是压缩软件,因为许多朋友都遇到过压缩软件提示“CRC错误”,这实际上就是一种文件校验过程,只不过这个过程被自动化了:压缩软件在压缩文件时自动在压缩包内添加CRC校验信息,在解压缩时会自动对CRC进行校验,检查文件是否完整和正确。
实战:CRC错误的解决方法
现象一:最近WinRAR不论解压缩什么文件,都是提示“CRC 校验失败,文件被破坏”。
解决方案:出现这种情况,可能是WinRAR的临时文件保存出现了问题,一般只需要打开系统临时目录(Windows 2000/XP下为\Documents and Settings\用户名\Local Settings\Temp),删除其中名为“Rar$DI00.*”之类的文件夹即可。
现象二:刚下载的一个软件压缩包,使用WinRAR解压时提示某个文件“CRC 校验失败,文件被破坏”。
解决方案:这种情况可以判断是那个压缩包出了问题,但很多情况下出现CRC错误时并不代表整个压缩包都已经坏掉,很可能只是某个文件有部分损坏。你可以尝试使用“命令”菜单中的“修复压缩文件”,一般可以解决部分CRC错误的问题。如果仍然不能解决,你可以尝试一下强制解压技巧:首先打开压缩包,选择除那个CRC错误文件以外的所有文件,先将正常的文件解压出来,然后解压那个出错的文件,当提示CRC错误信息时,不要点击任何确认按钮,打开“资源管理器”,找到解压后的文件保存路径,可以看到那个出错的文件实际已经被解压了,把它复制到其他文件保存的文件夹中,然后再试试看程序能否正常运行,很多情况下,如果这个文件不是可执行程序,对运行的影响不是很大。
简单方便的WinRAR用户身份校验
WinRAR本身除了具备CRC自动校验功能外,还为用户提供了专门的身份校验功能,可以帮助用户了解自己的压缩包是否被人修改过。
实战:制作一个“只许用不许改”的压缩包

   在“资源管理器”中选择要压缩的文件,单击鼠标右键,选择“添加到压缩文件”,打开“压缩文件名和参数”窗口,勾选“压缩选项”中的“添加用户身份校验信息”选项,单击“确定”按钮生成压缩包。

     双击打开这个压缩包,可以在地址栏中看到“用户校验信息存在”的提示,单击菜单“命令→显示信息”打开对话框,在“用户身份校验信息”栏中可以看到该压缩包的文件名、创建者以及创建日期信息(见图1),记下这些信息,尤其是“创建者”中的信息。

    现在你可以把这个压缩包提供给接收方,并同时提供用户身份校验信息。当对方打开这个压缩包时,可以打开“显示信息”对话框,并与你提供的身份校验信息进行比对,如果完全一样的话,说明压缩包没有被修改过,如果身份校验信息不存在或者有了变化,则说明压缩包已经被修改过了。
小提示
该功能需要使用注册版的WinRAR,因为身份校验信息就是根据注册用户名来生成的,一个被添加了身份校验信息的压缩包被重新修改时,将丢失身份校验信息,这就是它的校验原理。

相关文章
相关软件
评论人 评论内容摘要(共 0 条,查看完整内容) 得分 0 发表时间
关于本站 | 广告服务 | 版权声明 | 联系我们 | | 联系我 | 交流群:1361692 7710545
本站部分带宽由:华夏名网武汉IDC数据中心 赞助[排名不分先后] Powered By 零度软件园
本站软件均来源于网络,仅供学习所用。若侵犯了你的权益,请立即通知我们,我们将第一时间删除!