1. 程式人生 > 程式設計 >python base64庫給使用者名稱或密碼加密的流程

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)

執行結果:

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庫給使用者名稱或密碼加密的流程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!