使用python實現(xiàn)md5加密
python實現(xiàn)MD5加密
1、簡介
Message Digest Algorithm MD5(中文名為消息摘要算法第五版)為計算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用于確保信息傳輸完整一致。MD5是單向加密,指只能加密數(shù)據(jù)而不能解密數(shù)據(jù),主要解決數(shù)據(jù)的完整性問題。
摘要算法又稱哈希算法、散列算法。它通過一個函數(shù),把任意長度的數(shù)據(jù)轉(zhuǎn)換為一個長度固定的數(shù)據(jù)串(通常用16進(jìn)制的字符串表示)。MD5是最常見的摘要算法,速度很快,可以將一個字符串,或文件,或壓縮包,執(zhí)行md5后,生成一個固定長度為128bit的串,通常用一個32位的16進(jìn)制字符串表示。
在python3的標(biāo)準(zhǔn)庫中,已經(jīng)移除了md5模塊,而關(guān)于hash加密算法都放在hashlib這個標(biāo)準(zhǔn)庫中,hashlib提供了常見的摘要算法,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。
2、用途
加密注冊用戶的密碼,在保存用戶密碼時,不記錄密碼本身,只記錄密碼的MD5結(jié)果(即使數(shù)據(jù)庫被盜也無法反推出明文)。 網(wǎng)站用戶上傳圖片 / 文件后,將MD5值作為文件名。(MD5可以保證唯一性) key-value數(shù)據(jù)庫中使用MD5值作為key。 比較兩個文件是否相同。(在下載資源的時候,發(fā)現(xiàn)網(wǎng)站提供了MD5值,就是用來檢測文件是否被篡改)
3、使用hashlib模塊進(jìn)行md5操作
import hashlib md5 = hashlib.md5() # md5對象,md5不能反解,但是加密是固定的 # update需要一個bytes格式參數(shù) md5.update(str.encode('utf-8')) # 要對哪個字符串進(jìn)行加密,就放這里 value = md5.hexdigest() # 拿到加密字符串
import hashlib str = '123456' md5 = hashlib.md5() # 創(chuàng)建md5加密對象 md5.update(str.encode('utf-8')) # 指定需要加密的字符串 str_md5 = md5.hexdigest() # 加密后的字符串 print(str_md5) # 結(jié)果:e10adc3949ba59abbe56e057f20f883e
到此這篇關(guān)于使用python實現(xiàn)md5加密的文章就介紹到這了,更多相關(guān)python md5加密內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 每天如何定時啟動爬蟲任務(wù)(實現(xiàn)方法分享)
python 每天如何定時啟動爬蟲任務(wù)?今天小編就為大家分享一篇python 實現(xiàn)每天定時啟動爬蟲任務(wù)的方法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05在Python 3中緩存Exception對象會造成什么后果?
這篇文章主要介紹了在Python 3中緩存Exception對象到底會造成什么后果?下面帶著這個問題一起看看文章的解析,需要的朋友可以參考一下2021-12-12