python的hashlib提供了常見的摘要算法,如MD5,SHA1等等。
其中MD5是摘要算法,又稱哈希算法,散列算法。它通過一個(gè)函數(shù),把任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為一個(gè)長(zhǎng)度固定的數(shù)據(jù)串(通常用16進(jìn)制的字符串表示)。
摘要算法就是通過摘要函數(shù)f()對(duì)任意長(zhǎng)度的數(shù)據(jù)date計(jì)算出固定長(zhǎng)度的摘要digest,目的是為了發(fā)現(xiàn)原始數(shù)據(jù)是否被人篡改過。
我們以常見的摘要算法MD5為例,計(jì)算出一個(gè)字符串的MD5值:
importhashlib
md5=hashlib.md5()
md5.update('howtousermd5inpythonhashlib?'.encode('utf-8'))
print(md5.hexdigest())
計(jì)算結(jié)果如下:
4c850bdab2e3c34df385a2a228d2ea04
如果數(shù)據(jù)量很大,可以分多次調(diào)用update(),最后的計(jì)算結(jié)果都是一樣的:
importhashlib
md5=hashlib.md5()
md5.update('howtousermd5in'.encode('utf-8'))
md5.update('pythonhashlib?'.encode('utf-8'))
print(md5.hexdigest())
計(jì)算結(jié)果:
4c850bdab2e3c34df385a2a228d2ea04
以上內(nèi)容為大家介紹了Python的md5是什么意思,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。