python base64庫(kù)給用戶名或密碼加密的流程
給明文密碼加密的流程:
import base64
pwd_after_encrypt = base64.b64encode(b'this is a scret!')
pwd_before_encrypt = base64.b64decode(b'dGhpcyBpcyBhIHNjcmV0IQ==').decode('ascii')
print(pwd_after_encrypt)
print(pwd_before_encrypt)
運(yùn)行結(jié)果:
b'dGhpcyBpcyBhIHNjcmV0IQ=='
this is a scret!
Process finished with exit code 0
則在代碼中的調(diào)用方式是:
import base64
username = 'root'
password = base64.b64decode(b'dGhpcyBpcyBhIHNjcmV0IQ==').decode('ascii')
這樣做的好處:
不會(huì)在代碼中泄露密碼。
說(shuō)明:
若某登錄密碼是字符串'this is a scret!',對(duì)該密碼的加密方式為:
1.首先導(dǎo)入python的base64庫(kù);
2.調(diào)用base64庫(kù)中的base64.b64encode()對(duì)字符串'this is a scret!‘加密,得到密文(如題中的b'dGhpcyBpcyBhIHNjcmV0IQ==');
3.調(diào)用base64.b64decode()對(duì)b'dGhpcyBpcyBhIHNjcmV0IQ=='進(jìn)行解密,得到真實(shí)的密碼(如題中的this is a scret!)。
注意:
base64處理的是byte類(lèi)型的數(shù)據(jù),所以在字符串之前需加上b,若想解密得到字符串類(lèi)型的密碼,則需用'ascii'來(lái)decode byte類(lèi)型的數(shù)據(jù)。
ps:python base64的加密與解密
Base64編碼是一種“防君子不防小人”的編碼方式。廣泛應(yīng)用于MIME協(xié)議,作為電子郵件的傳輸編碼,生成的編碼可逆,后一兩位可能有“=”,生成的編碼都是ascii字符。 優(yōu)點(diǎn):速度快,ascii字符,肉眼不可理解 缺點(diǎn):編碼比較長(zhǎng),非常容易被破解,僅適用于加密非關(guān)鍵信息的場(chǎng)合 Python中進(jìn)行Base64編碼和解碼 >>> import base64 >>> s = '我是字符串' >>> a = base64.b64encode(s) >>> print a ztLKx9fWt/u0rg== >>> print base64.b64decode(a) 我是字符串
總結(jié)
以上所述是小編給大家介紹的python base64庫(kù)給用戶名或密碼加密的流程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Django中URL視圖函數(shù)的一些高級(jí)概念介紹
這篇文章主要介紹了Django中URL視圖函數(shù)的一些高級(jí)概念,Django是Python重多人氣框架中最為著名的一個(gè),需要的朋友可以參考下2015-07-07
使用PyTorch處理多維特征輸入數(shù)據(jù)的完美實(shí)現(xiàn)
在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域,我們經(jīng)常會(huì)面對(duì)具有多維特征輸入的問(wèn)題,這種情況出現(xiàn)在各種應(yīng)用中,包括圖像識(shí)別、自然語(yǔ)言處理、時(shí)間序列分析等,PyTorch是一個(gè)強(qiáng)大的深度學(xué)習(xí)框架,在本篇博客中,我們將探討如何使用PyTorch來(lái)處理多維特征輸入數(shù)據(jù)2023-10-10
詳解分布式任務(wù)隊(duì)列Celery使用說(shuō)明
這篇文章主要介紹了詳解分布式任務(wù)隊(duì)列Celery使用說(shuō)明,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
詳解Python+Pyecharts實(shí)現(xiàn)漏斗圖的繪制
漏斗圖是一個(gè)簡(jiǎn)單的散點(diǎn)圖,反映研究在一定樣本量或精確性下單個(gè)研究的干預(yù)效應(yīng)估計(jì)值。本文將用Python Pyecharts實(shí)現(xiàn)漏斗圖的繪制,需要的可以參考一下2022-06-06
python函數(shù)中將變量名轉(zhuǎn)換成字符串實(shí)例
這篇文章主要介紹了python函數(shù)中將變量名轉(zhuǎn)換成字符串實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
淺談pandas關(guān)于查看庫(kù)或依賴庫(kù)版本的API原理
本文主要介紹了淺談pandas關(guān)于查看庫(kù)或依賴庫(kù)版本的API原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
python 設(shè)置xlabel,ylabel 坐標(biāo)軸字體大小,字體類(lèi)型
這篇文章主要介紹了python 設(shè)置xlabel,ylabel 坐標(biāo)軸字體大小,字體類(lèi)型,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

