Python的 json 、 hashlib 、 Base64 模塊

json模塊python

簡介算法

全稱"JavaScript Object Notation" (JavaScript對象表示法)它是一種基於文本,獨立於語言的輕量級數據交換格式json

以易於讓人閱讀的文字爲基礎,用來傳輸由屬性值或者序列性的值組成的數據對象(鍵值對)數組

 

特色編碼

輕量級的文本數據交換格式加密

易於人類閱讀和編寫,同時也易於機器解析和生成url

Web世界當中最理想的數據交換格式spa

 

語法規則code

數據由鍵值對組成對象

鍵值對由逗號分隔

大括號裏保存對象

中括號裏保存數組(Pyton中的的列表或元組)

 

字符串必須用雙引號

 

API

json.dumps(obj)           將python數據轉化爲json    indent 實現縮進,ensure_ascii 是否用ascii解析 

json.loads(s)                將json數據轉換爲python的數據

json.dump(obj, fp)       轉換爲json並保存到文件中

json.load(fp)                從文件中讀取json,並轉化爲python數據

 

 

 

hashlib模塊

數據加密概念

對稱加密:數據加密解密使用相同的密鑰

非對稱加密:加密和解密用兩把不一樣的密鑰,公鑰用於加密數據,私鑰用於解密數據

單向加密:只能加密數據,而不能解密數據

 

特色

定長輸出:不管輸入的原始數據有多長,結果長度是相同的

抗修改性:輸入的微小改變,哪怕只有一個字符,也會引發結果的巨大改變

強碰撞性:很難找到兩段內容不一樣的數據,使他們產生的hash值一致,幾乎不可能

 

API

主要使用md5        其它:sha系列、blake系列

查詢全部的哈希算法       hashlib.algorithms_guaranteed

hashlib.new(算法名, data=b")   生成一個使用該算法的Hash對象,data爲bytes類型

hashlib.算法名(data=b")      生成一個使用該算法的Hash對象,data爲bytes類型

Hash對象.digest()        返回Hash算法計算獲得的值(bytes類型)

Hash對象.hexdigest()          返回Hash算法計算獲得的值(str類型)

Hash對象.update(arg=None)    更新Hash對象

 

 

 

base64模塊

簡介

base64是一種用64個字符來表示任意二進制數據的方法(將二進制數據編碼成ASCII字符)

使用了A-Z、a-z、0-九、 + 、 / 這64個字符

 

特色

用來將非ASCII字符的數據轉換成ASCII字符的一種方法

經常使用於對URL的編碼

能夠將不可打印的二進制數據轉化爲可打印的字符串

 

API

base64.b64encode(s)           對二進制數據進行base64編碼

base64.b64decode(s)           對經過base64編碼的數據進行解碼

Base64編碼後的數據可能會含有 + / 兩個符號,若是編碼後的數據用於URL或文件的系統路徑中,就可能致使Bug,因此base模塊提供了專門編碼url的方法

base64.urlsafe_ b64encode(s)        對URL進行base64編碼

base64.urlsafe_ b64decode(s)        對URL進行base64解碼

相關文章
相關標籤/搜索