python base64庫給使用者名稱或密碼加密的流程
阿新 • • 發佈:2020-01-09
給明文密碼加密的流程:
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)
執行結果:
b'dGhpcyBpcyBhIHNjcmV0IQ=='
this is a scret!
Process finished with exit code 0
則在程式碼中的呼叫方式是:
import base64 username = 'root' password = base64.b64decode(b'dGhpcyBpcyBhIHNjcmV0IQ==').decode('ascii')
這樣做的好處:
不會在程式碼中洩露密碼。
說明:
若某登入密碼是字串'this is a scret!',對該密碼的加密方式為:
1.首先匯入python的base64庫;
2.呼叫base64庫中的base64.b64encode()對字串'this is a scret!‘加密,得到密文(如題中的b'dGhpcyBpcyBhIHNjcmV0IQ==');
3.呼叫base64.b64decode()對b'dGhpcyBpcyBhIHNjcmV0IQ=='進行解密,得到真實的密碼(如題中的this is a scret!)。
注意:
base64處理的是byte型別的資料,所以在字串之前需加上b,若想解密得到字串型別的密碼,則需用'ascii'來decode byte型別的資料。
ps:python base64的加密與解密
Base64編碼是一種“防君子不防小人”的編碼方式。廣泛應用於MIME協議,作為電子郵件的傳輸編碼,生成的編碼可逆,後一兩位可能有“=”,生成的編碼都是ascii字元。 優點:速度快,ascii字元,肉眼不可理解 缺點:編碼比較長,非常容易被破解,僅適用於加密非關鍵資訊的場合 Python中進行Base64編碼和解碼 >>> import base64 >>> s = '我是字串' >>> a = base64.b64encode(s) >>> print a ztLKx9fWt/u0rg== >>> print base64.b64decode(a) 我是字串
總結
以上所述是小編給大家介紹的python base64庫給使用者名稱或密碼加密的流程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!