使用hashlib的md5方法對檔案進行加密,目的是為了保證檔案在傳輸的過程中是否發生變化。
#!/usr/bin/python3
#coding:utf-8
#auther:alphapanda
#description:使用hashlib模組,對檔案內容進行校驗。以此來判斷檔案傳輸過程中是否發生變化,或者有損壞
#version:1
#date:fri dec 6 22:15:16 est 2019
import
hashlib
#針對小檔案的內容校驗
defcheck_md5(file):
with open(file,mode="rb"
) as fp:
res =fp.read()
hs =hashlib.md5()
hs.update(res)
return
hs.hexdigest()
res = check_md5("
ceshi1.txt")
(res)
#針對大檔案的內容校驗
hs =hashlib.md5()
hs.update(
"你好\n世界
".encode())
(hs.hexdigest())
hs =hashlib.md5()
hs.update("你好
".encode())
hs.update(
"\n世界
".encode())
(hs.hexdigest())
#通過以上實驗,證明一次加密檔案的一行,依次加密完所有的檔案內容和一次加密所有的檔案內容,所獲得的hash值一樣。
#大檔案校驗方法1:
defcheck2_md5(file):
hs =hashlib.md5()
with open(file,mode="rb"
) as fp:
while
true:
content = fp.read(3)
ifcontent:
hs.update(content)
else
:
break
return
hs.hexdigest()
print(check2_md5("
ceshi3.txt"))
#方法二:
import
osdef
check4_md5(file):
#計算檔案大小
file_size =os.path.getsize(file)
hs =hashlib.md5()
with open(file,mode="rb"
) as fp:
while
file_size:
#一次最多讀取三個位元組
content = fp.read(3)
hs.update(content)
file_size -=len(content)
return
hs.hexdigest()
print(check4_md5("
ceshi4.txt
"))
Python實現檔案md5校驗
linux下校驗檔案md5值,最簡單的方法就是執行md5sum命令 md5sum filename 原本打算用subprocess呼叫系統命令來獲取md5值,python view plain copy print?import subprocess,shlex cmd md5sum filenam...
上傳檔案校驗
為了防止一些使用者將一些病毒檔案上傳到伺服器,我們一般需要對上傳的檔案做合法性校驗,當時有時候簡單的字尾和contenttype校驗任然還有風險,下面我們一起來討論一下上傳的檔案需要做哪些合法性校驗。1 檔案字尾校驗 這層校驗應該說是最基本的校驗了,我們不能允許使用者上傳一些exe jsp php ...
JAVA Execl檔案校驗
通過poi魔數判斷檔案型別 public static boolean i eclfile inputstream inputstream catch ioexception e return res 以上是通過流讀取檔案頭的魔數來校驗檔案型別。可避免使用者直接修改其他型別檔案字尾為 xls 或 x...