荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: MarchRain (生命因自己而精彩), 信区: Newsoftware
标  题: 关于SFV的小知识
发信站: 荔园晨风BBS站 (Sat Oct 13 19:30:37 2001), 转信

sfv是simple file verification(简单文件校验)的简写,它采用的是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就够用了)。




--
▕  ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
▕▕所有的时光都淡泊如水了,唯有往事在记忆深处成了瑰丽的风景,摇响曾▏
▕▕经亮丽的情节,把久蓄的情绪抖给黑夜。我知道,在我人生旅途中有你暖▏
▕▕暖如火的目光为我消融寒冷与失意,在我最痛苦、最寂寞的岁月里,你用▏
▕▕那慰藉人心的话语,为我洗去痛苦和寂寞。你的爱,我永远都不会忘记。▏
▕  ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.28.99]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店