SFV是什麼檔案?
SFV (Simple File Verification)(簡單檔案校驗)的簡寫。
CRC32: CRC本身是“冗餘校驗碼”的意思。CRC32則表示會產生一個32bit(8位十六進制數)的校驗值。由於CRC32產生校驗值時源數據塊的每一個bit(位)都參與了計算,所以數據塊中即使只有一位發生了變化,也會得到不同的CRC32值。
MD5:一種訊息摘要算法(也叫單向散列函式)的名稱。它通過一定的算法,根據源數據的每一位(bit)最終產生一個128位(bit)的校驗值(一個32位的16進制數)。MD5最常見的套用是在密碼學裡,本文中主要用它來校驗檔案完整性——如果你覺得上述文字難以理解,那么可以簡單的認為MD5就是一種128位的數字簽名,用於校驗檔案是否被修改過即可。
SFV 最常用在RAR、MP3、ISO 等檔案格式
有什麼用?
使用者常常會在網路上下載各類型的檔案,然而即使 Internet 上提供了可靠的傳輸環境,但有時難免會因各種因素使得下載的檔案發生錯誤,和原來上傳者提供的檔案不完全一樣,使用者通常難以查覺。 這時由於無法從檔案大小來判斷檔案是否正確 (檔案大小通常和原檔案沒有差別),而且又沒有辦法將原始檔案拿來和下載的檔案實際做比對 (因為原檔案在遠方的伺服器中),所以這個時候如果對方提供了.SFV 檔案,那就好辦了!
這個 .SFV 檔案的存在就是為了解決上述問題而產生的。檔案的提供者在上傳檔案時以 SFV 軟體為各檔案產生出 CRC 信息,並記錄在一個 .SFV 檔案中,同時一併將此 .SFV 檔案隨其它各檔上傳至網路。而網路上其他使用者在下載時也同時將此 .SFV 檔下載到電腦,然後由 SFV 軟體利用此檔案的內容對其它檔案做 CRC32 校驗,由於檔案內容一旦有任何改變,它的 CRC32 檢查碼便會不同,因此便可以由此值和檔案提供者的 CRC 信息做比對,如果不相同時,便表示下載的檔案和原先網路上的檔案不相同(沒有 100% 下載完全或傳輸中發生錯誤),使用者可以重新下載。
除此之外,雖然大部份的壓縮軟體在壓縮時都會在檔案中加上自己的CRC校驗碼,以供解壓縮時檢測,不過有些壓縮軟體在做分卷壓縮時 (multi volumes),由於提供的 CRC 信息不完全,以致解壓縮時雖然其中有任何檔案發生 CRC 錯誤,但卻無法指出是哪些檔案發生問題,在最麻煩的情況下,使用者可能因為這個原因而重新下載整個分片壓縮檔,此時提供者若能先利用 SFV 軟體產生簡易的額外檢測資訊,而使用者下載後先行檢測以確任所有檔案正確,若有錯誤也能馬上得知是哪些檔案有問題,重新下載,便可以省下不少時間。
製作
大家在登入一些有名的論壇FTP下載時,在每個資料夾中都可以看到有一個SFV後綴名的檔案,這個檔案有什麼用呢?其實它是一個分卷壓縮檔的檢驗檔案,作用就是用來檢查上傳的分卷壓縮檔是否有錯誤,對於FTP來說,這個檔案更是不可或缺的。
比如,在資料夾中都有這樣的一資料夾的名字是“-[100%]--[All-files-CRC-OK]--[52-files]--[wInzHeNg]-”,如果缺少SFV檔案,名字就變為“-[-SFV-file-MISSING-]-”。其實就是FTP中添加了SFV檢驗外掛程式,所以它會自動檢查上傳的檔案。
使用
大家以後下載分卷壓縮檔時就連同SFV檔案一起下載,下載好後先用SFV檔案檢查一下壓縮檔中是否有錯誤再解壓,如果有錯誤,只需重新下載有錯誤的分卷包,這樣就不會出現下載後解壓時,Winrar跳出對話框提示說CRC錯誤了!
SFV檔案的相關軟體很多,例如:QuickSFV、flashsfv