sfv(檔案校驗)

sfv(檔案校驗)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

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

基本介紹

  • 中文名:檔案校驗
  • 外文名:SFV
  • 屬性:電腦里的檔案格式
  • 英文全稱:simple file verification
  • 採用算法:crc32的校驗算法
格式說明,校驗算法,

格式說明

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就夠用了)。

相關詞條

熱門詞條

聯絡我們