python base64庫給用戶名或密碼加密的流程
給明文密碼加密的流程:
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)
運行結(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')
這樣做的好處:
不會在代碼中泄露密碼。
說明:
若某登錄密碼是字符串'this is a scret!',對該密碼的加密方式為:
1.首先導(dǎo)入python的base64庫;
2.調(diào)用base64庫中的base64.b64encode()對字符串'this is a scret!‘加密,得到密文(如題中的b'dGhpcyBpcyBhIHNjcmV0IQ==');
3.調(diào)用base64.b64decode()對b'dGhpcyBpcyBhIHNjcmV0IQ=='進(jìn)行解密,得到真實的密碼(如題中的this is a scret!)。
注意:
base64處理的是byte類型的數(shù)據(jù),所以在字符串之前需加上b,若想解密得到字符串類型的密碼,則需用'ascii'來decode byte類型的數(shù)據(jù)。
ps:python base64的加密與解密
Base64編碼是一種“防君子不防小人”的編碼方式。廣泛應(yīng)用于MIME協(xié)議,作為電子郵件的傳輸編碼,生成的編碼可逆,后一兩位可能有“=”,生成的編碼都是ascii字符。 優(yōu)點:速度快,ascii字符,肉眼不可理解 缺點:編碼比較長,非常容易被破解,僅適用于加密非關(guān)鍵信息的場合 Python中進(jìn)行Base64編碼和解碼 >>> import base64 >>> s = '我是字符串' >>> a = base64.b64encode(s) >>> print a ztLKx9fWt/u0rg== >>> print base64.b64decode(a) 我是字符串
總結(jié)
以上所述是小編給大家介紹的python base64庫給用戶名或密碼加密的流程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
python數(shù)據(jù)類型可變不可變知識點總結(jié)
在本篇文章里小編給各位整理的是關(guān)于python數(shù)據(jù)類型可變不可變知識點總結(jié),需要的朋友們可以學(xué)習(xí)下。2020-03-03python網(wǎng)絡(luò)爬蟲之如何偽裝逃過反爬蟲程序的方法
本篇文章主要介紹了python網(wǎng)絡(luò)爬蟲之如何偽裝逃過反爬蟲程序的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11Python中exit、return、sys.exit()等使用實例和區(qū)別
這篇文章主要介紹了Python中exit、return、sys.exit()等使用實例和區(qū)別,本文是一個實際項目中的總結(jié),需要的朋友可以參考下2015-05-05