最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年05月16日 16:24:58   作者:不吃皮蛋  
這篇文章主要介紹了python中base64加密解密方法,實例分析了base64加密解密的原理、用途與相關(guān)使用技巧,需要的朋友可以參考下

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

一、base64

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

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

在郵件中的用途:

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

在URL中的用途:

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

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

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

二、python中使用

C:\Python27>python
Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import base64
>>> str = 'haha'
>>> base64.b64encode(str)
'aGFoYQ=='
>>> base64.b64decode('aGFoYQ==')
'haha'

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

base64.b64encode(s[, altchars])
base64.b64decode(s[, altchars])
altchars為可選的參數(shù),用來替換+和/的一個兩個長度的字符串。
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程序設(shè)計有所幫助。

相關(guān)文章

  • 一文帶你了解Python中的延遲綁定

    一文帶你了解Python中的延遲綁定

    Python中的延遲綁定是指在嵌套函數(shù)中,內(nèi)部函數(shù)在被調(diào)用時才會綁定外部函數(shù)的變量,而不是在定義內(nèi)部函數(shù)時就綁定。本文將通過一些例子帶大家深入了解Python中的延遲綁定,感興趣的可以了解一下
    2023-05-05
  • python實現(xiàn)選取或刪除指定列包含指定內(nèi)容的行

    python實現(xiàn)選取或刪除指定列包含指定內(nèi)容的行

    這篇文章主要介紹了python實現(xiàn)選取或刪除指定列包含指定內(nèi)容的行,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Python安裝教程全過程(2022最新)

    Python安裝教程全過程(2022最新)

    這篇文章主要介紹了Python安裝教程全過程(2022最新版本),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python字符串的字符轉(zhuǎn)換、字符串劈分、字符串合并問題分析

    Python字符串的字符轉(zhuǎn)換、字符串劈分、字符串合并問題分析

    這篇文章主要介紹了Python字符串的字符轉(zhuǎn)換、字符串劈分、字符串合并,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 深入了解Python二維直方圖

    深入了解Python二維直方圖

    只統(tǒng)計像素的灰度值這一特征,可將其成為一維直方圖。二維直方圖可以統(tǒng)計像素的色相和飽和度,用于查找圖像的顏色直方圖。本文將為大家介紹分別使用OpenCV和NumPy函數(shù)計算直方圖,需要的可以學習一下
    2021-12-12
  • Python閉包思想與用法淺析

    Python閉包思想與用法淺析

    這篇文章主要介紹了Python閉包思想與用法,結(jié)合實例形式簡單分析了Python閉包的概念、原理、使用方法與相關(guān)操作注意事項,需要的朋友可以參考下
    2018-12-12
  • Python 專題三 字符串的基礎(chǔ)知識

    Python 專題三 字符串的基礎(chǔ)知識

    在Python中最重要的數(shù)據(jù)類型包括字符串、列表、元組和字典等。本篇文章主要講述Python的字符串基礎(chǔ)知識。下面跟著小編一起來看下吧
    2017-03-03
  • 詳解Python類和對象內(nèi)容

    詳解Python類和對象內(nèi)容

    Python遵循面向?qū)ο蟮木幊谭妒?。它處理聲明python類,從它們創(chuàng)建對象并與用戶交互。在面向?qū)ο蟮恼Z言中,程序被分成獨立的對象,或者你可以說成幾個小程序。每個對象代表應(yīng)用程序的不同部分,它們可以相互通信。類是對客觀世界中事物得抽象,而對象是類實例化后的實體
    2021-06-06
  • python購物車程序簡單代碼

    python購物車程序簡單代碼

    這篇文章主要為大家詳細介紹了python購物車程序的簡單代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Pycharm學習教程(3) 代碼運行調(diào)試

    Pycharm學習教程(3) 代碼運行調(diào)試

    這篇文章主要為大家詳細介紹了最全的Pycharm學習教程第三篇代碼運行調(diào)試,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論

财经| 余江县| 九龙县| 阳谷县| 镇康县| 清远市| 岑巩县| 荆州市| 象州县| 翼城县| 阜平县| 兴海县| 蓝山县| 晋城| 天水市| 谢通门县| 讷河市| 东兰县| 无锡市| 长沙市| 江山市| 沈丘县| 农安县| 桦川县| 龙川县| 抚顺县| 新乐市| 宁阳县| 涪陵区| 高陵县| 陵水| 会理县| 无为县| 镇江市| 科尔| 体育| 加查县| 肇庆市| 武强县| 南郑县| 三原县|