国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中base64加密解密方法實例分析

2020-01-04 19:15:32
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了python中base64加密解密方法,實例分析了base64加密解密的原理、用途與相關使用技巧,需要的朋友可以參考下

本文實例講述了python中base64加密解密方法。分享給大家供大家參考。具體分析如下:

一、base64

Base64是一種基于64個可打印字符來表示二進制數據的表示方法。由于2的6次方等于64,所以每6個比特為一個單元,對應某個可打印字符。三個字節有24個比特,對應于4個Base64單元,即3個字節需要用4個可打印字符來表示。它可用來作為電子郵件的傳輸編碼。在Base64中的可打印字符包括字母A-Z、a-z、數字0-9 ,這樣共有62個字符,此外兩個可打印符號在不同的系統中而不同。編碼后的數據比原始數據略長,為原來的4/3。

Base64常用于在通常處理文本數據的場合,表示、傳輸、存儲一些二進制數據(或不可打印的字符串)。包括MIME的email,email via MIME, 在XML中存儲復雜數據.

在郵件中的用途:

在MIME格式的電子郵件中,base64可以用來將binary的字節序列數據編碼成ASCII字符序列構成的文本。使用時,在傳輸編碼方式中指定base64。使用的字符包括大小寫字母各26個,加上10個數字,和加號“+”,斜杠“/”,一共64個字符,等號“=”用來作為后綴用途。

在URL中的用途:

標準的Base64并不適合直接放在URL里傳輸,因為URL編碼器會把標準Base64中的“/”和“+”字符變為形如“%XX”的形式,而這些“%”號在存入數據庫時還需要再進行轉換,因為ANSI SQL中已將“%”號用作通配符。

為解決此問題,可采用一種用于URL的改進Base64編碼,它不在末尾填充'='號,并將標準Base64中的“+”和“/”分別改成了“*”和“-”,這樣就免去了在URL編解碼和數據庫存儲時所要作的轉換,避免了編碼信息長度在此過程中的增加,并統一了數據庫、表單等處對象標識符的格式。

另有一種用于正則表達式的改進Base64變種,它將“+”和“/”改成了“!”和“-”,因為“+”,“*”在正則表達式中都可能具有特殊含義。

二、python中使用

 

 
  1. C:/Python27>python 
  2. Python 2.7.2 (default, Jun 12 201114:24:46) [MSC v.1500 64 bit (AMD64)] on win32 
  3. Type "help""copyright""credits" or "license" for more information. 
  4. >>> import base64 
  5. >>> str = 'haha' 
  6. >>> base64.b64encode(str) 
  7. 'aGFoYQ==' 
  8. >>> base64.b64decode('aGFoYQ=='
  9. 'haha' 

三、其他的方法,這個比較重要

base64.b64encode(s[, altchars])

base64.b64decode(s[, altchars])

altchars為可選的參數,用來替換+和/的一個兩個長度的字符串。

base64.urlsafe_b64encode(s)

base64.urlsafe_b64decode(s)

此方法中用-代替了+,用_代替了/ ,這樣可以保證編碼后的字符串放在url里可以正常訪問

base64.b32encode(s)

base64.b32decode(s[, casefold[, map01]])

base64.b16encode(s)

base64.b16decode(s[, casefold])

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梁山县| 曲阳县| 土默特左旗| 青川县| 兴仁县| 吉安县| 瓦房店市| 凌云县| 玉龙| 龙江县| 江达县| 白银市| 科技| 天津市| 澄城县| 彭州市| 鄄城县| 南汇区| 乌鲁木齐市| 大新县| 黑河市| 中西区| 界首市| 沙湾县| 襄汾县| 长沙县| 六枝特区| 宁武县| 肇源县| 潍坊市| 靖安县| 奉贤区| 台湾省| 玉门市| 洛浦县| 祁东县| 九台市| 广德县| 黄梅县| 库车县| 聂拉木县|