使用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實現(xiàn)刪除重復(fù)文件
這篇文章主要為大家詳細(xì)介紹了如何利用Python實現(xiàn)刪除重復(fù)文件功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-10-10
解決pycharm安裝scrapy DLL load failed:找不到指定的程序的問題
很多朋友向小編求助pycharm安裝scrapy DLL load failed:找不到指定的程序的問題,就這一問題小編在window10 + anaconda3 +pycharm2020.1.1 + scrapy安裝親測可用,下面把我的處理過程分享到腳本之家平臺,供大家參考2021-06-06
Python?Pyramid框架應(yīng)用場景及高級特性實戰(zhàn)
Pyramid是一個靈活且強大的Python?web框架,廣泛用于構(gòu)建各種規(guī)模的Web應(yīng)用程序,本文將深度探索Pyramid框架,介紹其核心概念、應(yīng)用場景以及一些高級特性2023-12-12
Python預(yù)測2020高考分?jǐn)?shù)和錄取情況
這篇文章主要介紹了Python預(yù)測2020高考分?jǐn)?shù)和錄取情況可能是這樣,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
PyTorch中的Subset類簡介與應(yīng)用示例代碼
在深度學(xué)習(xí)框架PyTorch中,torch.utils.data.Subset是一個非常有用的類,用于從一個較大的數(shù)據(jù)集中選擇一個子集,本文將介紹Subset的概念、基本用法以及一些實際應(yīng)用示例,感興趣的朋友一起看看吧2024-08-08
Windows下的Jupyter Notebook 安裝與自定義啟動(圖文詳解)
這篇文章主要介紹了Windows下的Jupyter Notebook 安裝與自定義啟動(圖文詳解),需要的朋友可以參考下2018-02-02

