色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

python計算Content-MD5并獲取文件的Content-MD5值方式

瀏覽:2日期:2022-07-31 09:13:07

1、首先計算MD5加密的二進制數組(128位),然后再對這個二進制數組進行base64編碼(而不是對32位字符串編碼)。

例如,用Python計算0123456789的Content-MD5,主要代碼如下:

import base64, hashlibhash = hashlib.md5()hash.update('0123456789')base64.b64encode(hash.digest())

這樣就生成了 ’eB5eJF1ptWaXm4bijSPyxw==’ 的Content-MD5值

2、接著,實際上如何獲取文件的Content-MD5值呢,下面有兩種不同的寫法,建議用第一種,不知道為啥實際調試的時候,用第一種可以的時候,用第二種不可以,因為是不同人寫的代碼,估計調用的時候方式不一樣:

(1)、第一種寫法

import hashlib, base64 def content_encoding(path: str): ''' 文件轉 bytes 加密并使用 base64 編碼 :param path: 文件路徑 :return: 返回加密編碼后的字符串 ''' with open(path, ’rb’) as f: content = f.read() content_md5 = hashlib.md5() content_md5.update(content) content_base64 = base64.b64encode(content_md5.digest()) return content_base64.decode('utf-8')

(2)、第二種寫法:

import hashlib, base64 def match(file_path, Bytes=1024): ''' 先計算文件md5值,在對該md5值進行base64編碼 :param file_path: 文件路徑 :param Bytes: 字節大小 :return: ''' try: md5_1 = hashlib.md5() # 創建一個md5算法對象 with open(file_path, ’rb’) as f: # 打開一個文件,必須是’rb’模式打開 while 1:data = f.read(Bytes) # 由于是一個文件,每次只讀取固定字節if data: # 當讀取內容不為空時對讀取內容進行update md5_1.update(data)else: # 當整個文件讀完之后停止update break f.close() ret = base64.b64encode(bytes(md5_1.digest())) # 獲取這個文件的MD5值 ret = ret.decode(’ascii’) # 去掉前面的b’ return ret except Exception as e: print(e) return ’’

補充知識:Python之文件處理-批量修改md文檔內容

#!/usr/bin/env python# -*- coding:utf-8 -*-import osimport reimport time def modify_md_content(top): for root, dirs, files in os.walk(top, topdown=False): # 循環文件 for file_name in files: file_name_split = file_name.split(’.’) try:if file_name_split[-1] == ’md’: # 找到md文件并且復制一份md文件路徑 md_file_path = os.path.join(root, ’.’.join(file_name_split)) copy_md_file_path = os.path.join(root, ’.’.join([f’{file_name_split[0]}_copy’, file_name_split[1]])) # 打開md文件然后進行替換 with open(md_file_path, ’r’, encoding=’utf8’) as fr, open(copy_md_file_path, ’w’, encoding=’utf8’) as fw: data = fr.read() # data = re.sub(’(/配圖/’, ’(配圖/’, data) # data = re.sub(’<br>’, ’<br>n’, data) # data = re.sub(’<br>’, ’’, data) data = re.sub(’^ #.*? ’, ’’, data) fw.write(data) # 新文件一次性寫入原文件內容 # fw.flush() # 刪除原文件 os.remove(md_file_path) # 重命名新文件名為原文件名 os.rename(copy_md_file_path, md_file_path) print(f’{md_file_path} done...’) time.sleep(0.5) except FileNotFoundError as e:print(e) time.sleep(0.5) if __name__ == ’__main__’: top = r’/Users/mac/Desktop/’ modify_md_content(top)

以上這篇python計算Content-MD5并獲取文件的Content-MD5值方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 久久久久久久岛国免费观看 | 亚洲久久久久久久 | 亚洲视频二 | 毛片网站在线播放 | 成年人视频在线免费看 | 中文在线日韩 | 大胆gogo999亚洲肉体艺术 | 欧美一级毛片免费大片 | 日本亚欧乱色视频在线网站 | 久久精品2020| 高清性做爰免费网站 | 在线播放国产视频 | 91热国内精品永久免费观看 | 久久久久国产精品美女毛片 | 欧美一区二区三区免费不卡 | 欧美日韩一区二区三区视频播 | 日本韩经典三级在线播放 | 99久久免费国产精精品 | 免费一级网站 | 久久频这里精品99香蕉久 | 亚洲一区二区三区在线 | 欧美黑粗特黄午夜大片 | 欧美一二三区在线 | 亚洲精品国产精品一区二区 | 美女张开腿给男生桶下面视频 | 久爱综合 | 成年18网站免费视频网站 | 国产在线精品成人一区二区三区 | 欧美日韩亚洲视频 | 久久久亚洲欧洲日产国码二区 | 黄 色 免费网 站 成 人 | 97视频免费公开成人福利 | 欧美三级欧美成人高清www | 露脸 在线 国产 眼镜 | 欧美激情欧美狂野欧美精品免费 | 手机毛片在线 | 在线另类视频 | 在线 | 一区二区三区四区 | 萌白酱粉嫩jk福利在线观看 | 99精品久久99久久久久 | 好吊色综合网天天高清 |