Python3之?dāng)?shù)據(jù)指紋MD5校驗(yàn)與對比

182.jpg

MD5消息摘要算法(英語:MD5 Message-Digest Algorithm)滥朱,一種被廣泛使用的密碼散列函數(shù)根暑,可以產(chǎn)生出一個128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致徙邻。MD5由美國密碼學(xué)家羅納德·李維斯特(Ronald Linn Rivest)設(shè)計排嫌,于1992年公開,用以取代MD4算法缰犁。

概述

MD5校驗(yàn)碼通過散列函數(shù)計算而成躏率,可以生成任何數(shù)據(jù)的數(shù)據(jù)“指紋”,即我們可以利用MD5將消息或者數(shù)據(jù)壓縮成摘要民鼓,是的數(shù)據(jù)量變小薇芝,便于比較驗(yàn)證數(shù)據(jù)的完整和正確性。因?yàn)閮蓚€不同的文件幾乎不可能擁有相同的MD5哈希值丰嘉,任何對一個文件的非惡意變更都會導(dǎo)致其MD5哈希值改變夯到。所以MD5哈希常用語檢查文件完整性,尤其是檢測文件傳輸饮亏、磁盤錯誤或其他情況文件的正確性耍贾。

MD5

在Python中我們利用內(nèi)置模塊hashlib即可完成MD5的實(shí)現(xiàn)和使用。

import hashlib

m = hashlib.md5()
# 假設(shè)文件內(nèi)容
src = 'I like Python'
m.update(src.encode('utf-8'))
print(m.hexdigest())

示例結(jié)果:

17008b7417701b0c233b999d20c13f1d

文件驗(yàn)證

假設(shè)現(xiàn)有有兩個文件路幸,我們需要驗(yàn)證這兩個文件是否一樣

import hashlib


def out_md5(src):
    # 簡單封裝
    m = hashlib.md5()
    m.update(src.encode('utf-8'))
    return m.hexdigest()


with open('1.txt', 'r') as f:
    src = f.read()
    m1 = out_md5(src)
    print(m1)

with open('2.txt', 'r') as f:
    src = f.read()
    m2 = out_md5(src)
    print(m2)

if m1 == m2:
    print(True)
else:
    print(False)

示例結(jié)果:

bb0c1b519a0a2b8e6c74703e44538c60
43cb091db43a710d85ce45fb202438cd
False
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荐开,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子简肴,更是在濱河造成了極大的恐慌晃听,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砰识,死亡現(xiàn)場離奇詭異能扒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)辫狼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門初斑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人膨处,你說我怎么就攤上這事见秤∩笆” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵鹃答,是天一觀的道長乎澄。 經(jīng)常有香客問我,道長挣跋,這世上最難降的妖魔是什么三圆? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮避咆,結(jié)果婚禮上舟肉,老公的妹妹穿的比我還像新娘。我一直安慰自己查库,他們只是感情好路媚,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著樊销,像睡著了一般整慎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上围苫,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天裤园,我揣著相機(jī)與錄音,去河邊找鬼剂府。 笑死拧揽,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的腺占。 我是一名探鬼主播淤袜,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼衰伯!你這毒婦竟也來了铡羡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤意鲸,失蹤者是張志新(化名)和其女友劉穎烦周,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體临扮,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡论矾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了杆勇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡饱亿,死狀恐怖蚜退,靈堂內(nèi)的尸體忽然破棺而出闰靴,到底是詐尸還是另有隱情,我是刑警寧澤钻注,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布蚂且,位于F島的核電站,受9級特大地震影響幅恋,放射性物質(zhì)發(fā)生泄漏杏死。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一捆交、第九天 我趴在偏房一處隱蔽的房頂上張望淑翼。 院中可真熱鬧,春花似錦品追、人聲如沸玄括。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遭京。三九已至,卻和暖如春泞莉,著一層夾襖步出監(jiān)牢的瞬間哪雕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工鲫趁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留斯嚎,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓饮寞,卻偏偏與公主長得像孝扛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子幽崩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容