複製鏈接
請複製以下鏈接發送給好友

sfv

(文件校驗)

鎖定
sfv格式,是電腦裏的一種文件格式,SFV 文件是一個簡單的文本文件,它利用 CRC32 算法來完成簡易的文件檢測功能,對每個文件計算出一個數值並寫入一個.SFV文本文件中。一般下載後會使用SFV工具對下載得到的文件進行計算,並將結果和文件中的結果進行比對,如果不同則表明下載的文件有誤,需要重新下載。並用一個程序來計算指定一個或一批文件的校驗、大小、日期等,並保存下來。
中文名
文件校驗
外文名
SFV
屬    性
電腦裏的文件格式
英文全稱
simple file verification
採用算法
crc32的校驗算法

sfv格式説明

Sfv是simple file verification(簡單文件校驗)的簡寫,可以以文書編輯或記事本打開本文編寫。但通常網上有軟件Quicksfv、Flashsfv等可創建。它雖説是文字文件,但不成文,沒有規範。有時創建的sfv被其它程序來檢驗檔案使用,會有錯誤出現:“本文判斷錯誤,並影響crc校驗。”只需改正回來,但原理是一樣。

sfv校驗算法

它採用的是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就夠用了)。