2011年12月13日 星期二

使用md5sum檢查下載的檔案是否完整

md5sum是一種檔案的檢核計算機制,常用來檢查下載或是複製的檔案是否和原始檔案相同。
只要檔案每次經過變更或是下載不完整,產生的MD5 Hash就會不同。這在抓取大型檔案資料,如光碟映像檔(ex: iso, nrg)時特別實用。
以從義守大學檔案伺服器抓取CentOS 5.2 DVD 映像檔 (CentOS-5.2-i386-bin-DVD.iso)為例,3.74GB的大小難保證網路在下載的時候不會發生什麼問題,這時候md5sum的功用就來了。
通常檔案伺服器都會提供對應的md5sum碼,把CentOS 5.2 DVD的md5sum檢核碼檔案(MD5SUM.txt)抓下來,放在和下載的映像檔同一個目錄。由於Windows沒有內建md5sum程式,需要去抓一個 md5sum.exe 的小程式,放在同一目錄下。
打開命令提示字元執行 md5sum.exe -c MD5SUM.txt,會開始比對檢核碼檔案內所列的Hash碼,執行時間長度會依檔案的大小和多寡而定。

md5sum 執行畫面
程式跑完後可以發現,由於我們只抓了CentOS-5.2-i386-bin-DVD.iso這個檔案,其他未抓的檔案會提示 No such file or directory 或 FAILED open or read。比對成功的顯示會OK,一旦失敗則顯示FAILED,FAILED的話就代表下載的檔案可能有問題啦!

沒有留言:

張貼留言