[C#] 使用MD5對Excel檔案進行驗證

目的:

  • 驗證兩個Excel檔案的內容是否完全一樣。
  • 開啟Excel檔案,檢查裡面的儲存格內容,會花費太多時間。

參考資料:

 

解決方法:

  1. 比對檔案大小。但有可能檔案大小相同,內容卻不一樣。
  2. 對整個檔案進行MD5的雜湊運算,產生出一個128位元的雜湊值(hash value)。
    驗證目標檔案的MD5是否相同,即可達成目的。

補充:

  • MD5常被用在檔案下載的驗證,確保檔案的完整性。
  • 另外也常被用在單向的加密作業,但已證實其存在弱點而被破解。

提醒:

  • 實際使用後發現,Excel檔案帶有隱藏的訊息,只要開啟檔案後,未進行任何修改即關閉,就會產生不同的MD5結果。所以此案例較不適用MD5驗證。

程式範例:

FileStream fs = File.OpenRead(strFilePath);

MD5 mGetMD5 = MD5.Create();

string strMD5 = Convert.ToBase64String(mGetMD5.ComputeHash(fs)); //取得檔案之MD5

 

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s