Tôi đã tạo mã trong python để kiểm tra md5 trong một tệp và đảm bảo md5 khớp với mã md5 của tệp gốc. Dưới đây là những gì tôi đã phát triển:Làm cách nào để tính toán tổng kiểm tra md5 của một tệp bằng Python?
#Defines filename
filename = "file.exe"
#Gets MD5 from file
def getmd5(filename):
return m.hexdigest()
md5 = dict()
for fname in filename:
md5[fname] = getmd5(fname)
#If statement for alerting the user whether the checksum passed or failed
if md5 == '>md5 will go here<':
print("MD5 Checksum passed. You may now close this window")
input ("press enter")
else:
print("MD5 Checksum failed. Incorrect MD5 in file 'filename'. Please download a new copy")
input("press enter")
exit
Nhưng bất cứ khi nào tôi chạy mã, tôi nhận được như sau:
Traceback (most recent call last):
File "C:\Users\Username\md5check.py", line 13, in <module>
md5[fname] = getmd5(fname)
File "C:\Users\Username\md5check.py, line 9, in getmd5
return m.hexdigest()
NameError: global name 'm' is not defined
Có điều gì tôi đang mất tích trong mã của tôi?
có thể trùng lặp của [Tạo MD5 checksum của một tệp?] (Http://stackoverflow.com/questions/3431825/generating-a-md5-checksum-of-a-file) – pylover