使用python實(shí)現(xiàn)md5加密
python實(shí)現(xiàn)MD5加密
1、簡(jiǎn)介
Message Digest Algorithm MD5(中文名為消息摘要算法第五版)為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用于確保信息傳輸完整一致。MD5是單向加密,指只能加密數(shù)據(jù)而不能解密數(shù)據(jù),主要解決數(shù)據(jù)的完整性問(wèn)題。
摘要算法又稱(chēng)哈希算法、散列算法。它通過(guò)一個(gè)函數(shù),把任意長(zhǎng)度的數(shù)據(jù)轉(zhuǎn)換為一個(gè)長(zhǎng)度固定的數(shù)據(jù)串(通常用16進(jìn)制的字符串表示)。MD5是最常見(jiàn)的摘要算法,速度很快,可以將一個(gè)字符串,或文件,或壓縮包,執(zhí)行md5后,生成一個(gè)固定長(zhǎng)度為128bit的串,通常用一個(gè)32位的16進(jìn)制字符串表示。
在python3的標(biāo)準(zhǔn)庫(kù)中,已經(jīng)移除了md5模塊,而關(guān)于hash加密算法都放在hashlib這個(gè)標(biāo)準(zhǔn)庫(kù)中,hashlib提供了常見(jiàn)的摘要算法,如SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。
2、用途
加密注冊(cè)用戶(hù)的密碼,在保存用戶(hù)密碼時(shí),不記錄密碼本身,只記錄密碼的MD5結(jié)果(即使數(shù)據(jù)庫(kù)被盜也無(wú)法反推出明文)。 網(wǎng)站用戶(hù)上傳圖片 / 文件后,將MD5值作為文件名。(MD5可以保證唯一性) key-value數(shù)據(jù)庫(kù)中使用MD5值作為key。 比較兩個(gè)文件是否相同。(在下載資源的時(shí)候,發(fā)現(xiàn)網(wǎng)站提供了MD5值,就是用來(lái)檢測(cè)文件是否被篡改)
3、使用hashlib模塊進(jìn)行md5操作
import hashlib
md5 = hashlib.md5() # md5對(duì)象,md5不能反解,但是加密是固定的
# update需要一個(gè)bytes格式參數(shù)
md5.update(str.encode('utf-8')) # 要對(duì)哪個(gè)字符串進(jìn)行加密,就放這里
value = md5.hexdigest() # 拿到加密字符串
import hashlib
str = '123456'
md5 = hashlib.md5() # 創(chuàng)建md5加密對(duì)象
md5.update(str.encode('utf-8')) # 指定需要加密的字符串
str_md5 = md5.hexdigest() # 加密后的字符串
print(str_md5) # 結(jié)果:e10adc3949ba59abbe56e057f20f883e
到此這篇關(guān)于使用python實(shí)現(xiàn)md5加密的文章就介紹到這了,更多相關(guān)python md5加密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
eclipse創(chuàng)建python項(xiàng)目步驟詳解
在本篇內(nèi)容里小編給大家分享了關(guān)于eclipse創(chuàng)建python項(xiàng)目的具體步驟和方法,需要的朋友們跟著學(xué)習(xí)下。2019-05-05
詳解如何使用Python實(shí)現(xiàn)刪除重復(fù)文件
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)刪除重復(fù)文件功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定幫助,需要的可以參考一下2022-10-10
解決pycharm安裝scrapy DLL load failed:找不到指定的程序的問(wèn)題
很多朋友向小編求助pycharm安裝scrapy DLL load failed:找不到指定的程序的問(wèn)題,就這一問(wèn)題小編在window10 + anaconda3 +pycharm2020.1.1 + scrapy安裝親測(cè)可用,下面把我的處理過(guò)程分享到腳本之家平臺(tái),供大家參考2021-06-06
Python?Pyramid框架應(yīng)用場(chǎng)景及高級(jí)特性實(shí)戰(zhàn)
Pyramid是一個(gè)靈活且強(qiáng)大的Python?web框架,廣泛用于構(gòu)建各種規(guī)模的Web應(yīng)用程序,本文將深度探索Pyramid框架,介紹其核心概念、應(yīng)用場(chǎng)景以及一些高級(jí)特性2023-12-12
Python關(guān)于OS文件目錄處理的實(shí)例分享
在本篇文章里小編給大家整理的是一篇關(guān)于Python關(guān)于OS文件目錄處理的實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)一下。2021-05-05
Python預(yù)測(cè)2020高考分?jǐn)?shù)和錄取情況
這篇文章主要介紹了Python預(yù)測(cè)2020高考分?jǐn)?shù)和錄取情況可能是這樣,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
PyTorch中的Subset類(lèi)簡(jiǎn)介與應(yīng)用示例代碼
在深度學(xué)習(xí)框架PyTorch中,torch.utils.data.Subset是一個(gè)非常有用的類(lèi),用于從一個(gè)較大的數(shù)據(jù)集中選擇一個(gè)子集,本文將介紹Subset的概念、基本用法以及一些實(shí)際應(yīng)用示例,感興趣的朋友一起看看吧2024-08-08
Windows下的Jupyter Notebook 安裝與自定義啟動(dòng)(圖文詳解)
這篇文章主要介紹了Windows下的Jupyter Notebook 安裝與自定義啟動(dòng)(圖文詳解),需要的朋友可以參考下2018-02-02

