sfv是什么格式的文件?格式说明校验算法

sfv格式,是电脑里的一种文件格式,SFV 文件是一个简单的文本文件,它利用 CRC32 算法来完成简易的文件检测功能,对每个文件计算出一个数值并写入一个.SFV文本文件中。一般下载后会使用SFV工具对下载得到的文件进行计算,并将结果和文件中的结果进行比对,如果不同则表明下载的文件有误,需要重新下载。并用一个程序来计算指定一个或一批文件的校验、大小、日期等,并保存下来。

格式说明

Sfv是simple file verification(简单文件校验)的简写,可以以文书编辑或记事本打开本文编写。但通常网上有软件Quicksfv、Flashsfv等可创建。它虽说是文字文件,但不成文,没有规范。有时创建的sfv被其它程序来检验档案使用,会有错误出现:“本文判断错误,并影响crc校验。”只需改正回来,但原理是一样。

校验算法

它采用的是crc32的校验算法。

crc32校验产生32bit(8位十六进制数)校验值,所以一般大家看见的文件「sfv值」是一个8位的16进制数。

由于crc32产生校验值时源数据块的每一个bit位都参与了计算,所以数据块中即使一位bit发生变化,也会得到不同的crc32值(但对于两个完全不相干的文件是有可能有相同校验值的,因为校验值的取值空间有限——2^32,而现实中文件数量一定是大大超过这个值了)。

关于crc32校验的具体算法,大致的过程是(没兴趣的可以忽略这一段):

采用多项式除法,将一个数据块(不论大小)中的每一位(bit)作为各项系数来产生一个很长的多项式(例如对一个16进制的数F0h,可以产生多项式1*X^7 + 1*X^6 + 1*X^5 + 1*X^4 + 0*X^3 + 0*X^2 + 0*X^1 + 0*X^0,化简一下,就变成X^7 + X^6 + X^5 + X^4),然后将产生的多项式除以如下被称为「发生器多项式」的特殊多项式(X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+1),取结果的余数部分,就是我们需要的crc32(也就是sfv)值了。至于除法的具体算法,有硬件实现也有很多软件实现,这里就不再赘述。

md5是一个消息摘要算法(也叫单向散列函数)的名称。它通过一定的算法(任何有关应用密码学的书里都有具体的算法表述)根据源数据的每一位bit最终产生一个128bit(32位十六进制数)的校验值。由于长度达到一定的要求,所以在密码学领域中有一定应用(用它来校验文件理论上讲由于有更大的取值空间而肯定比sfv更安全,但实际上似乎sfv就够用了)。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 787013311@qq.com 举报,一经查实,本站将立刻删除。
(0)
上一篇 2024-01-26 10:02:41
下一篇 2024-01-26 10:04:24

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注