Python的 json 、 hashlib 、 Base64 模塊


json模塊

簡介

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

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

 

特點

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

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

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

 

語法規則

數據由鍵值對組成

鍵值對由逗號分隔

大括號里保存對象

中括號里保存數組(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-9、 + 、 / 這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解碼

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM