對收錄的檔案進行MD5校驗出錯

2021-07-06 06:36:38 字數 446 閱讀 8827

因為公司產品公升級的需要,本人負責對系統收錄的檔案進行md5校驗,但是意想不到出現了問題。

為什麼說是意想不到呢?

因為該md5校驗方法,之前本人百試不爽。為什麼唯獨此次出錯呢?

現象:md5校驗碼讀不到或者全部為0。

原因:之前對檔案進行md5校驗都是對靜態檔案,即儲存好的檔案(大小固定)。而這次不同,系統收錄的檔案是動態儲存的,可能程式在進行md5校驗時,收錄檔案在記憶體中還沒有寫完,檔案大小是變化的,所以md5碼計算會出錯。

解決:為了保證收錄檔案已經寫完,本人在收錄模組完成後,等待幾秒。程式中設定為:

sleep(6000);//等待6秒

問題暫時解決了,但是繼續深究,其實自己還應該改寫md5校驗方法,實現動態計算md5值。

備註:從巨集觀上來說,md5校驗碼計算需要知道:檔案的大小,檔案的名稱。

如果md5方法改寫完成,我會繼續跟帖。。。

檔案MD5校驗

1.什麼是md5 md5訊息摘要演算法 英語 md5 message digest algorithm 一種被廣泛使用的密碼雜湊函式,可以產生出乙個128位 16位元組 的雜湊值 hash value 用於確保資訊傳輸完整一致。md5由美國密碼學家羅納德 李維斯特 ronald linn rives...

Python實現檔案md5校驗

linux下校驗檔案md5值,最簡單的方法就是執行md5sum命令 md5sum filename 原本打算用subprocess呼叫系統命令來獲取md5值,python view plain copy print?import subprocess,shlex cmd md5sum filenam...

Linux中檔案MD5校驗

md5sum命令用於生成檔案的md5數字摘要,並可以驗證檔案內容是否發生了改變,間接地還可以檢驗兩個檔案內容是否完全相同。因為md5sum是讀取檔案內容來計算校驗碼的,因此只能驗證檔案內容,而無法驗證檔案屬性。root xuexi cp a etc fstab tmp fstab root xuex...