import hashlib
import os
file_path = r'd:\codepath\***.bin'
# 檔案實際大小為 461248 位元組
start_addr =
460248
read_len =
1500
file_size = os.path.getsize(file_path)
fo =
open
(file_path,
"rb"
)fo.seek(start_addr)
tmp_file = fo.read(read_len)
if start_addr+read_len > file_size:
tmp_file += b'\x00'
*(start_addr+read_len-file_size)
sha1 = hashlib.sha1(
)sha1.update(tmp_file)
sha1_result = sha1.hexdigest(
)print
(sha1_result)
# 輸出 c4c23b3fafd946987fd9acedfd3cc833121fe801
因為檔案實際長度為461248位元組, 現在讀取開始位址為460248,讀取長度為1500,因此需要填充特定的字元b』\x00』,以 b 形式追加在讀取檔案的 b 字元後即可。
import hashlib
import os
file_path = r'd:\codepath\***.bin'
start_addr =
460248
read_len =
1500
file_size = os.path.getsize(file_path)
fo =
open
(file_path,
"rb"
)fo.seek(start_addr)
tmp_file = fo.read(read_len)
# 和fo.read()相同,讀到檔案末尾結束
sha1 = hashlib.sha1(
)sha1.update(tmp_file)
sha1_result = sha1.hexdigest(
)print
(sha1_result)
# 輸出 fcf9b5d5e3e74ee63e57df6955a4c4e350c312aa
java對檔案損壞校驗
檔案損壞校驗 1.背景 出於專案業務的需求,需要對上傳檔案處理,服務端需要甄別損壞檔案,去攔截。則需要對上傳的檔案去判斷,疏於搜尋水平,谷歌了下沒找到好的方法。則思考了一種目前看來可行的判別方法。2.思路。根據檔名,通過字串分隔,判斷出檔案的現用格式。再引入tika包,對檔案的實際格式進行判斷,則與...
shell中對檔案指定行的操作
1 awk1 awk 可以設定條件來輸出檔案中m行到n行中每行的指定的k欄位,使用格式如下 awk nr m,nr n path filename m,n,k表示實在的數值,其中k為0 9。如果要用變數來表示m,n的值,則變數需要用單引號將其引起來。nr,是awk命令在此用法下的規定字段 path ...
PHP對資料夾做訪問許可權設定
本來我是想到直接在htaccess檔案裡面路由重寫,然後經過單一入口點來進行處理,這個單一入口點是為訪問者做一些驗證的操作,如果不符合條件則直接 t掉,但是這樣就要侷限與apache伺服器,也就是說,當我換個iis伺服器的時候就會出一些問題了。當然,我也看了一些框架的實現,他們一般都不借助 htac...