python 檔案校驗

2022-08-03 10:24:07 字數 1691 閱讀 6107

使用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")

print

(res)

#針對大檔案的內容校驗

hs =hashlib.md5()

hs.update(

"你好\n世界

".encode())

print

(hs.hexdigest())

hs =hashlib.md5()

hs.update("你好

".encode())

hs.update(

"\n世界

".encode())

print

(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...