引言:
在一些專案中,介面的報文是通過base64加密傳輸的,所以在進行介面自動化時,需要對所傳的引數進行base64編碼,對拿到的響應報文進行解碼;
base64編碼是一種「防君子不防小人」的編碼方式。廣泛應用於mime協議,作為電子郵件的傳輸編碼,生成的編碼可逆,後一兩位可能有「=」,生成的編碼都是ascii字元。
優點:速度快,ascii字元,肉眼不可理解
缺點:編碼比較長,非常容易被破解,僅適用於加密非關鍵資訊的場合
python2中進行base64編碼和解碼
>>> import base64
>>> s = '我是字串'
>>> a = base64.b64encode(s)
>>> print a
ztlkx9fwt/u0rg==ztlkx9fwt/u0rg==
>>> print base64.b64decode(a)
我是字串
python3不太一樣:因為3.x中字元都為unicode編碼,而b64encode函式的引數為byte型別,所以必須先轉碼。
import base64
encodestr = base64.b64encode(
'abcr34r344r'
.encode(
'utf-8'))
print
(encodestr)
列印結果為
b』ywjjcjm0cjm0nhi=』結果和我們預想的有點區別,我們只想要獲得ywjjcjm0cjm0nhi=,而字串被b』'包圍了。
這時肯定有人說了,用正則取出來就好了。。。別急。。。
b 表示 byte的意思,我們只要再將byte轉換回去就好了。。。原始碼如下
import base64
encodestr = base64.b64encode(
'abcr34r344r'
.encode(
'utf-8'))
print
(str
(encodestr,
'utf-8'
))
列印結果為
ywjjcjm0cjm0nhi=
base64編碼 動畫演示 Base 64 編碼
base64 是一種十分流行的編碼方式,僅僅使用 64 個字元加等號 就可以以文字的形式表示所有的二進位制資料了,因為它能夠把二進位制格式通過編碼轉換成可見字元,所有我們就可以通過的把二進位制格式比如,檔案等通過 base64 編碼然後通過文字的形式共享出去,是不是很神奇呀。把輸入的資料轉換成 二進...
Python 模擬 Base64編碼
def enbs64 s 編碼後的結果 result 二進位制資料 bin data base64編碼對照表 bs64 table a b c d e f g h i j k l m n o p q r s t u v w x y z a b c d e f g h i j k l m n o p ...
python中base64編碼與解碼
base64是一種用64個字元來表示任意二進位制資料的方法。用記事本開啟exe jpg pdf這些檔案時,我們都會看到一大堆亂碼,因為二進位制檔案包含很多無法顯示和列印的字元,所以,如果要讓記事本這樣的文字處理軟體能處理二進位制資料,就需要乙個二進位製到字串的轉換方法。base64是一種最常見的二進...