在python中內建了md5的實現,就是md5模組,因此可以很簡單的處理比較兩個檔案是否一致的問題。如以下**片斷:
import os,sys,md5
f1 = open(』f:/1.txt』,』r』)
f2 = open(』f:/1.txt』,』r』)
print md5.new( f1.read() ).digest() == md5.new( f2.read() ).digest()
以上處理在處理比較大的檔案(比如幾百m的檔案)的時候會有記憶體問題。
----------------------------------------------
另外的實現方法
**:import md5
import sys
def sumfile(fobj):
m = md5.new()
while true:
d = fobj.read(8096)
if not d:
break
m.update(d)
return m.hexdigest()
def md5sum(fname):
if fname == '-':
ret = sumfile(sys.stdin)
else:
try:
f = file(fname, 'rb')
except:
return 'failed to open file'
ret = sumfile(f)
f.close()
return ret
if __name__ == '__main__':
for fname in sys.argv[1:]:
print '%32s %s' % (md5sum(fname), fname)
用Python計算檔案的MD5值
儘管計算md5有很多小工具,重灌系統後還得去找,就自己用python寫了乙個 ge 5.py import hashlib import sys if name main if len sys.argv 2 sys.exit argv error m hashlib.md5 n 1024 4 inp...
用python計算檔案的MD5值
md5是一種常見不可逆加密演算法,使用簡單,計算速度快,在很多場景下都會用到,比如 給使用者上傳的檔案命名,資料庫中儲存的使用者密www.cppcns.com碼,檔案後檢驗檔案是否正確等。下面講解在python中如何使用md5演算法。usr bin env python coding utf 8 i...
計算檔案的md5
本地配置檔案,或要做熱更的檔案,通過計算檔案md5與儲存在伺服器端的值做對比,如果不一致則說明本地檔案過舊,或者被非法修改過。算檔案md5方法為 讀取檔案為二進位製流,算出md5值轉為字串。using system using system.collections.generic using sys...